JavaScript中为什么null==0为false而null>=0为true
来源:自学PHP网
时间:2014-09-19 14:47 作者:
阅读:次
[导读] ...
工作中我们在不停的编写代码,写着JavaScript,很少有时间进行概念上的研究。我呢,今天闲来没啥事,研究了一下有关"null"和"0"的关系。希望大家看完了能有所收获。
alert(null>=0)
上面的代码会弹出什么来呢?False?True?其实是true。那么是为什么呢?为什么"null>=0"为true呢?null>=0的时候,强转为数字类型。在进行null>=0比较时,它是通过比较null<0得到的答案,如果a=b 为false,如果a=b 为true,即0<0为false,也就是null<0为false,那么null>0为true。所以 null>=0为true。
alert(null==0)
面的代码会弹出什么来呢?False?True?其实是false。null==0"的时候是特殊处理,不会转为数字类型,不会转化为数值,但如果左面是字符串右面是数值就会被转化。"null"是对象(空对象, 没有任何属性和方法)。而"0"是数字。前面说过"=="并不转换类型,只是比较。所以,为false。
为什么"null==0"为false,但是"null>=0"为true?这个小问题就分析到这里了。在分析的过程中我也学习到了很多东西,我想大家再看的时候也有一定的收获吧。以上全是个人观点,若有啥理解不到位的,欢迎提出来,大家一起学习哈。
附一些参考
== |
0 |
'0' |
[0] |
[] |
{} |
'' |
null |
[null] |
undefined |
NaN |
[NaN] |
'a' |
Infinity |
1 |
'1' |
[1] |
0 |
true |
true |
true |
true |
false |
true |
false |
true |
false |
false |
false |
false |
false |
false |
false |
false |
'0' |
true |
true |
true |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
[0] |
true |
true |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
[] |
true |
false |
false |
false |
false |
true |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
{} |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
'' |
true |
false |
false |
true |
false |
true |
false |
true |
false |
false |
false |
false |
false |
false |
false |
false |
null |
false |
false |
false |
false |
false |
false |
true |
false |
true |
false |
false |
false |
false |
false |
false |
false |
[null] |
true |
false |
false |
false |
false |
true |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
undefined |
false |
false |
false |
false |
false |
false |
true |
false |
true |
false |
false |
false |
false |
false |
false |
false |
NaN |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
[NaN] |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
'a' |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
true |
false |
false |
false |
false |
Infinity |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
true |
false |
false |
false |
1 |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
true |
true |
true |
'1' |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
true |
true |
true |
[1] |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
true |
true |
false |
=== |
0 |
'0' |
[0] |
[] |
{} |
'' |
null |
[null] |
undefined |
NaN |
[NaN] |
'a' |
Infinity |
1 |
'1' |
[1] |
0 |
true |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
'0' |
false |
true |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
[0] |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
[] |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
{} |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
'' |
false |
false |
false |
false |
false |
true |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
null |
false |
false |
false |
false |
false |
false |
true |
false |
false |
false |
false |
false |
false |
false |
false |
false |
[null] |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
undefined |
false |
false |
false |
false |
false |
false |
false |
false |
true |
false |
false |
false |
false |
false |
false |
false |
NaN |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
[NaN] |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
'a' |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
true |
false |
false |
false |
false |
Infinity |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
true |
false |
false |
false |
1 |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
true |
false |
false |
'1' |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
true |
false |
[1] |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
+ |
0 |
'0' |
[0] |
[] |
{} |
'' |
null |
[null] |
undefined |
NaN |
[NaN] |
'a' |
Infinity |
1 |
'1' |
[1] |
0 |
0 |
'00' |
'00' |
'0' |
'0{}' |
'0' |
0 |
'0' |
NaN |
NaN |
'0NaN' |
'0a' |
Infinity |
1 |
'01' |
'01' |
'0' |
'00' |
'00' |
'00' |
'0' |
'0{}' |
'0' |
'0null' |
'0' |
'0undefined' |
'0NaN' |
'0NaN' |
'0a' |
'0Infinity' |
'01' |
'01' |
'01' |
[0] |
'00' |
'00' |
'00' |
'0' |
'0{}' |
'0' |
'0null' |
'0' |
'0undefined' |
'0NaN' |
'0NaN' |
'0a' |
'0Infinity' |
'01' |
'01' |
'01' |
[] |
'0' |
'0' |
'0' |
'' |
'{}' |
'' |
'null' |
'' |
'undefined' |
'NaN' |
'NaN' |
'a' |
'Infinity' |
'1' |
'1' |
'1' |
{} |
'{}0' |
'{}0' |
'{}0' |
'{}' |
'{}{}' |
'{}' |
'{}null' |
'{}' |
'{}undefined' |
'{}NaN' |
'{}NaN' |
'{}a' |
'{}Infinity' |
'{}1' |
'{}1' |
'{}1' |
'' |
'0' |
'0' |
'0' |
'' |
'{}' |
'' |
'null' |
'' |
'undefined' |
'NaN' |
'NaN' |
'a' |
'Infinity' |
'1' |
'1' |
'1' |
null |
0 |
'null0' |
'null0' |
'null' |
'null{}' |
'null' |
0 |
'null' |
NaN |
NaN |
'nullNaN' |
'nulla' |
Infinity |
1 |
'null1' |
'null1' |
[null] |
'0' |
'0' |
'0' |
'' |
'{}' |
'' |
'null' |
'' |
'undefined' |
'NaN' |
'NaN' |
'a' |
'Infinity' |
'1' |
'1' |
'1' |
undefined |
NaN |
'undefined0' |
'undefined0' |
'undefined' |
'undefined{}' |
'undefined' |
NaN |
'undefined' |
NaN |
NaN |
'undefinedNaN' |
'undefineda' |
NaN |
NaN |
'undefined1' |
'undefined1' |
NaN |
NaN |
'NaN0' |
'NaN0' |
'NaN' |
'NaN{}' |
'NaN' |
NaN |
'NaN' |
NaN |
NaN |
'NaNNaN' |
'NaNa' |
NaN |
NaN |
'NaN1' |
'NaN1' |
[NaN] |
'NaN0' |
'NaN0' |
'NaN0' |
'NaN' |
'NaN{}' |
'NaN' |
'NaNnull' |
'NaN' |
'NaNundefined' |
'NaNNaN' |
'NaNNaN' |
'NaNa' |
'NaNInfinity' |
'NaN1' |
'NaN1' |
'NaN1' |
'a' |
'a0' |
'a0' |
'a0' |
'a' |
'a{}' |
'a' |
'anull' |
'a' |
'aundefined' |
'aNaN' |
'aNaN' |
'aa' |
'aInfinity' |
'a1' |
'a1' |
'a1' |
Infinity |
Infinity |
'Infinity0' |
'Infinity0' |
'Infinity' |
'Infinity{}' |
'Infinity' |
Infinity |
'Infinity' |
NaN |
NaN |
'InfinityNaN' |
'Infinitya' |
Infinity |
Infinity |
'Infinity1' |
'Infinity1' |
1 |
1 |
'10' |
'10' |
'1' |
'1{}' |
'1' |
1 |
'1' |
NaN |
NaN |
'1NaN' |
'1a' |
Infinity |
2 |
'11' |
'11' |
'1' |
'10' |
'10' |
'10' |
'1' |
'1{}' |
'1' |
'1null' |
'1' |
'1undefined' |
'1NaN' |
'1NaN' |
'1a' |
'1Infinity' |
'11' |
'11' |
'11' |
[1] |
'10' |
'10' |
'10' |
'1' |
'1{}' |
'1' |
'1null' |
'1' |
'1undefined' |
'1NaN' |
'1NaN' |
'1a' |
'1Infinity' |
'11' |
'11' |
'11' |
* |
0 |
'0' |
[0] |
[] |
{} |
'' |
null |
[null] |
undefined |
NaN |
[NaN] |
'a' |
Infinity |
1 |
'1' |
[1] |
0 |
0 |
0 |
0 |
0 |
NaN |
0 |
0 |
0 |
NaN |
NaN |
NaN |
NaN |
NaN |
0 |
0 |
0 |
'0' |
0 |
0 |
0 |
0 |
NaN |
0 |
0 |
0 |
NaN |
NaN |
NaN |
NaN |
NaN |
0 |
0 |
0 |
[0] |
0 |
0 |
0 |
0 |
NaN |
0 |
0 |
0 |
NaN |
NaN |
NaN |
NaN |
NaN |
0 |
0 |
0 |
[] |
0 |
0 |
0 |
0 |
NaN |
0 |
0 |
0 |
NaN |
NaN |
NaN |
NaN |
NaN |
0 |
0 |
0 |
{} |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
'' |
0 |
0 |
0 |
0 |
NaN |
0 |
0 |
0 |
NaN |
NaN |
NaN |
NaN |
NaN |
0 |
0 |
0 |
null |
0 |
0 |
0 |
0 |
NaN |
0 |
0 |
0 |
NaN |
NaN |
NaN |
NaN |
NaN |
0 |
0 |
0 |
[null] |
0 |
0 |
0 |
0 |
NaN |
0 |
0 |
0 |
NaN |
NaN |
NaN |
NaN |
NaN |
0 |
0 |
0 |
undefined |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
[NaN] |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
'a' |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
Infinity |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
NaN |
Infinity |
Infinity |
Infinity |
Infinity |
1 |
0 |
0 |
0 |
0 |
NaN |
0 |
0 |
0 |
NaN |
NaN |
NaN |
NaN |
Infinity |
1 |
1 |
1 |
'1' |
0 |
0 |
0 |
0 |
NaN |
0 |
0 |
0 |
NaN |
NaN |
NaN |
NaN |
Infinity |
1 |
1 |
1 |
[1] |
0 |
0 |
0 |
0 |
NaN |
0 |
0 |
0 |
NaN |
NaN |
NaN |
NaN |
Infinity |
1 |
1 |
1 |
|