1. null是一个对象:
alert(typeof null);
//objects
NULL表示没有值,那么很明显他不能作为任何东西的实例,所以下式应该等于false:
alert(null instanceof
Object); //false
2. NAN是一个数字:
alert(typeof NAN);
//Number
alert(NaN === NaN);
//false
3. 空数组 == false:
alert(new Array() == false);
//true
空数组非常奇特:它们实际上等于true,但是在和布尔值比较的时候,却被看做false,如下:
var someVar = [];
alert(someVar ==
false); //true
if(someVar) alert(‘hello!’);
//会打印出‘hello’
PS:false,zero,null,undefined,空字符串,NaN都被转换为false----非永久的,只是针对与给定的表达式!
4. 0.1 + 0.2 != 0.3
该式子的结果是:0.30000000000000004.
这是因为机器精度的问题。
5. 未定义可以被定义
var someVar;
alert(someVar==undefined);
//true
但是:
undefined = ‘hello’;
var someVar;
alert(someVar==undefined);
//false
时间: 2024-10-09 16:45:21