变量(variable)
变量声明 如 var a = 100;
先声明再赋值 JS中声明变量的类型只有var(其类型天生是浮点型) 不像Java中的那些int float
若想为字符串类型 则在声明时加 单引号或双引号 即可 不过JS中最好使用单引号
对于未声明的变量直接使用会报错
赋值的顺序自右向左 如 var a = b = 10; //先把值赋给b
单一var模式
如 var a ,
b ,
c ;
变量命名规则
1 需以 英文字母 $ 开头
2 可以包括 英文字母 $ 开头 数字
3 不可以用系统的关键字、保留字作为变量名
js语句基本规则
语句后面要用分号结束;
js语法错误会引发后续代码终止 但不会影响其它js代码块
错误分两种:
1 低级错误(语法解析错误)
在执行解释语言之前 系统会先通篇扫描一遍看是否有低级错误
如果有 当前块的程序一行都不会执行 比如 var num = 1:
2 逻辑错误(标准错误 情有可原)
程序会执行到逻辑出错的那行代码前 之后的都不会执行
如 document.write(num); //num没定义直接用
书写格式要规范 = + / - 两边都应该有空格
值类型
js中是由值来决定类型(数据类型)
1 不可改变的原始值(栈数据 stack)
原始值是不能有属性和方法的
number,string,boolean,undefined,null
对于string类型的底层是数组 可以有str.length;
也可以通过 str[i] 或 str.charAt(i) 取出里面第i-1位的字符
2 引用值(堆数据 heap)
Array, Object, function …
2.1 var arr = [1,2,false,”abc”]; //数组里面放什么都行
arr.push(3); //可以往数组里加东西
运算操作符
运算自左向右
1 + 有两种含义
1.1 数学运算、字符串链接
1.2 任何数据类型加字符串都等于字符串
如 var a = 1+”a”+1+1; //结果为1a11
var a = 1+1+”a”+1; //结果为2a1
2 - / % = ()
优先级”=“最弱,”()”优先级较高
注意: 1 / 0 Infintity 0 / 0 NaN
3 ++ - - += -= /= = %=
注意a++ 与 ++a的区别
3.1 a++ 是先运行完执行语句后 最后才++
如 a = 1; b = a++ +1; document.write(b);
//得到的b的值为2 先执行赋值操作 赋值完后再a++
3.2 ++a 是先加加 然后才执行语句
如 a = 1; b = a— + —a; document.write(b);
//得到的b的值为0 先a—得到1 再1+ —a 其中—a为-1 所以最后1+-1 = 0
a = 1; b = ++a +1; document.write(b);
//得到的b的值为3 先++a 再执行赋值操作
比较运算符
> < == >= <= !=
比较结果为boolean值
>可以比较字符串 比较的是字符在asc码中的先后顺序
比如 “a”>”b”结果为true 因为a排在b前面
“10”>”8”结果为false 注意比较的是字符的先后顺序
先比较1和8的先后顺序 1在8前 返回false 所以后面的就不用比了
逻辑运算符
“&&”,“||”,“!”
运算结果为真实的值
&& 先将第一个表达式转换为布尔类型的值 如果是真 则继续下一个表达式
直到找到表达式对应的布尔类型的值为假 或 运算到结尾值都为真时 输出当前的值
如 a = 1 && false —-> a为false
a = 0 && 1 —-> a为0
a = 1 && 2 && 4 —-> a为4
|| 与 && 类似 找到表达式对应的布尔类型的值为真 或 运算值都为假时 输出当前的值
如 a = 1 || false —-> a为1
a = false || 0 —-> a为0
a = 0 || 1 || false —-> a为1
被认定为false的值
undefined, null, NaN, “” , 0, false
逗号运算符
var a = (2,3);
可以允许这样赋值 这里一定要加括号 a的值为3
赋值赋的是括号中最后一个逗号后面的表达式计算后的结果
注意()中的任何东西都会变为表达式**