'null的数值表示不同

时间:2014-07-30 20:55:26

标签: javascript conditional-operator

进入Ecma-262,它表示null的数值为+0。所以当我这样做时:

var a = null;  //so now a = 0
var b = 0;
var c = 1;
alert(a * c);  //shows '0' as expected
alert(a < c);  //shows 'true' as expected
alert(a > c);  //shows 'false' as expected
alert(a === b);  //shows 'false'
alert(a == b);  //shows 'false' - why ?

我从Ecma-262知道javascript对待+0和-0相同。那为什么它显示为假?

1 个答案:

答案 0 :(得分:2)

在算术表达式中使用null 等效+0时,它不会实现 +0nullnull,如果您将其与非null的内容进行比较,那么它将为假。