'null's number value acting differently

'null's number value acting differently

本文关键字:acting differently value null number      更新时间:2023-09-26

在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相同。那么为什么显示false呢?

当在算术表达式中使用时,null +0 等效,但它实际上没有 +0nullnull,如果你将它与不是null的东西进行比较,那么它将是假的。