一 语法
区分大小写,驼峰式书写方式;
严格模式:“use strict”;
二 数据类型
a. 基本数据类型:
undefined 声明变量未初始化
null 空指针,可以释放内存
Boolean
Boolean | true | false |
String | 非空字符串 | 空字符串 |
Number | 非零数值 | 0和NaN |
Object | 任何对象 | Null |
Undefined | / | undefined |
Number
Number(),parseInt( ,基数),parseFloat();
NaN 任何数值除以0,非数值;
String
toString() 不可用转换null、undefined;
String() 可以转换null、undefined;
b.复杂数据类型:
object
三 操作符
a.一元操作符:
++a,--a,a++,a--;
+a 等同于Number(a);
-a 等同于-Number(a);
b.位操作符:
负数以二进制存储,采用二进制补码;
1、求绝对值二进制码;
2、反码;
3、反码加1;
按位非(~) 反码,等同于操作数的负值减1;
按位与(&) 同为1才为1,反之为0;
按位或(|) 1个1就为1,反之为0;
按位异或(^) 同为1或0为0,反之为1;
左移(<<) 左移不影响符号位;
有符号右移(>>) 产生的空位由符号位填充;
无符号右移(>>>) 产生空位由0填充;
c.布尔操作符:
逻辑非(!) !! = Boolean();
逻辑与(&&)同为true才为true,反之为false ---短路操作符;
逻辑或(||) 同为false才为false,反之为true ---短路操作符;
d.乘性操作符:
乘法 *;
除法 /;
求模 %(取余);
e.加性操作符:
+ 优先字符串,除非都是数值;
- 优先是Number;
f.关系操作符:
< > <= >=
g.相等操作符:
== != 强制转换比较;
=== !== 仅比较不转换;
h.条件操作符:
var max = (num1>num2)?num1:num2;
i.赋值操作符:
*= /= %= += -+ <<= >>= >>>=
j.逗号操作符:
用于声明多个变量;
四 语句
a.if 语句
b.do-while 先执行,再判断;
c.while 先判断,再执行;
d.for
e.for-in 枚举对象的属性;
f.label 循环break和continue标签;
g.
break 跳出循环;
continue 跳出本次循环;
h.with 将代码作用域设置到一个特定的对象中
i.switch
五 函数
a.参数 通过arguments来访问;
b.不能重载;