工作中我们在不停的编写代码,写着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 |
时间: 2024-09-28 03:12:00