4.6
NaN和任何值都不相等,包括本身,应该通过(x!==x)来判断。
对于"===",两个null或undefined不相等。
对于"==",null == undefined ==> true
4.6.1
对象比较闲转换为原始值(toString,valueof),遇到NaN时,<,>,<=,>=都返回false。
4.7
A&&B,只有A为真,才会去计算B。
||也类似。
var max = a|| b || 1; 从a到b到1,先来为真的赋值给max
4.7.1
!!x ==> 返回等价布尔值。
4.8
全局函数eval可以解释运行由JS源码组成的字符串,并产生一个值。
4.8.1
eval()只接受一个参数,若不是字符串,则直接返回该参数。
eval()调用了调用他的变量作用域,即对外产生影响。
eval("x = 1"); 改变了x
4.9
typeof(null) == >"object"
4.9.1
var a = [1,2,3];
delete a[2]; ==>true,a[2]被设置为undefined
2 in a; ==> false
a.length; ==> 3,即数组长度并未改变
4.9.2
void是一元操作符,操作数类型任意,操作数回照常计算,但忽略结果并返回undefined。
用处:
void window.open();