JS 第二章 程序设计

时间:2023-02-19 20:11:43

1**数据类型**
js中的数据类型分为三种:一为字符串类型(string),二是数值类型(number),在一个就是布尔类型(boolean)。
比如:
姓名:张三 string
年龄:26 number
身高:170cm number
性别:男 string
体重:60kg number
是否婚配:是 boolean

2 为什么要有数据类型?
生活中是存在不同的数据类型的,计算机要解决生活问题,那么他就和生活中的数据类型产生映射,所以有了数据类型。

3**重点内容**
为什么要有变量?
因为生活中有一些数据不是一成不变的,它的值会改变,所以js里边有了变量和它相对应。

<script>
var name="张三";
alert(name);
</script>

Var (variable)定义一个变量
变量名Name

4**命名规则**
1、不能使用关键字
2、可以使用英文字母、数字(不能作为开头,因为8进制和16进制会冲突)以及$和_.

5**变量**
变量的本质:变量就是一个内存单元

变量的值:变量的类型是由值的类型决定的
系统会为不同的类型分配不同的大小来存储数据。
如果是布尔类型就分配一个字节的大小来存储
如果是数字和字符串,那么根据他的大小和长度来分配字节数来存储。
Js是弱类型语言,所有的类型的变量都用var来声明。
Js是动态类型的语言,变量的类型会根据值的变化而变化,不会出错。

6**对象**
对象在js当中对应的是obj
名字:”藏藏”
”藏獒””花色”
性别:“雄”
年龄:3
是否婚配:否
狗的行为:走,跑,睡觉。
使用new Object()定义一个对象类型的变量

var dog = new Object();
dog.name = "藏藏";
dog.age = 3;
dog.marry = false;

为什么有对象?
和为什么有数据类型是一样的。就是生活中处处都是对象,所以JS中有这种对象类型。
如何使用对象里面的属性?
使用对象名+.+对象属性名
alert(typeof (dog.name));

7**算数运算符与表达式**
常见的算数运算符:+ - × ÷
对应在js中当中的运算符为+ - * /
加法运算:(数值)

 var weight=65;
weight=weight+10;
alert(weight)

字符串拼接:(字符串)

var dogName = "zhangsan";
dogName += "feng";
alert(dogName)

取余运算符在js中用%表示 作用:得到两个数的余数

var num1 = 10;
var num2 = 3;
var result = num1%num2;
alert(result);

使用技巧:可以解决周期性问题
var date = 2; 计算12天之后是星期几
date = 12 % 7 + 1;
alert(date)
++自增
本身是可以不存在,使用基本运算就能替代,他存在的唯一价值就是简便,快捷。
Num++和++num的区别
Num++是先用再加
++num是先加再用

var num1 = 1;
alert(num1 ++)
alert(++num1);

var num1 = 1;
alert(num1 ++)

等价于

var num1 = 1;
num1=num1+1;
alert(num1)
++num
var num1 = 1;
num1=num1+1;
alert(num1)

8**关系运算符与表达式**
生活中常见的关系运算符
大于> 小于< 等于== 大于等于>= 小于等于<= 不等于!=

判断两个数是否相等使用两个=号,与生活中的常识不符合
如何避免判断两个数相等时出错,就是把常量放在等式的前面,把变量放在等式的后面。

绝对相等:变量的值和类型都相等,使用“===”来表示(既比较值又比较类型)

var num1 = 2;
var str = 2;
alert(num1 === str)

绝对不相等:变变量值和类型都不相等 使用“!==”来表示

var num1 = 2;
var str = "2";
alert(num1 !== str)

结果显示为ture
9**逻辑运算符与表达式**
与:两者同时成立结果才成立
第一个关系是true,第二个关系也是true,结果才是true
如果有一个或多个为false是,结果为false
在js当中用&&表示
**var num1 = 10;
var num2 = 20;
alert(num1 > 20 && num2>10)**

或:只要有一个成立那么结果就成立,就是一个关系为true 解雇结果就为true
在js中用||表示
**var num1 = 10;
var num2 = 20;
alert(num1 > 20 || num2 > 10)**

非:结果为原身的对立面,就是当关系成立时,非之后就变为不成立。
非true之后结果变为false
在js中用!表示

var num = 10;
alert(!(num = 10))

10**赋值运算符与表达式**
赋值:将一个数据赋值给一个变量
var num = 10;
复合赋值运算符

var num = 1;
num ++;
num = num + 10
num += 10;

+=可以不岑在,完全由普通运算符替代,存在的唯一价值就是间接方便
%=
-=
*=
/=
11**位运算符与表达式**
按位与运算的作用:
(1) 测试某一位是0还是1
alert(num.toString(2))
同理得到一个数其他进制数,改变.tostring里面的值。
var num = 5;
var num1 = 6;
alert(num1.toString(2) & num.toString(2));
首先要把数转化为二进制数。
运算法则,只有两者同时为1时结果才为1,其余结果均为0
按位运算,不足的在二进制前补0。例如:计算5和6的运算
5:101
6:110
结果100
或:设置某些位为1
**var num = 5;
var num1 = 6;
alert(num1.toString(2) | num.toString(2));**

异或:将某些特定的位取反