JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
2010-11-16 19:48
741 查看
JavaScript的假值列表如下,
以上的值作为判断条件,都将为假值,如:
if(undefined) {
alert('undefined');
//这行代码不会执行
}
while(null)
{
alert('null');
//这行代码不会执行
}
虽然这些值全部都等同于假,但它们是不可互换的。
下面列出一些例子 :
甚至
==(!=)运算符会进行强制类型转换,而且转换规则相当诡异。下面是一些例子。
建议使用===(!===)运算符。
值 | 类型 |
0 | Number |
NaN (非数字) | Number |
'' (空字符串) | String |
false | Boolean |
null | Object |
undefined | Undefined |
以上的值作为判断条件,都将为假值,如:
if(undefined) {
alert('undefined');
//这行代码不会执行
}
while(null)
{
alert('null');
//这行代码不会执行
}
虽然这些值全部都等同于假,但它们是不可互换的。
下面列出一些例子 :
undefined === null //false
undefined == null //true
undefined == null //true
甚至
NaN === NaN //false
NaN == NaN //false
PS:NaN跟NaN无论用哪种运算都不相等,可以用IsNaN(NaN)来解决NaN的判断问题。
NaN == NaN //false
PS:NaN跟NaN无论用哪种运算都不相等,可以用IsNaN(NaN)来解决NaN的判断问题。
==(!=)运算符会进行强制类型转换,而且转换规则相当诡异。下面是一些例子。
'' == '0' // false 0 == '' // true 0 == '0' // true false == 'false' // false false == '0' // true false == undefined // false false == null // false null == undefined // true ' \t\r\n ' == 0 // true
相关文章推荐
- JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
- JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
- JavaScript.The.Good.Parts阅读笔记(二)作用域&闭包&减缓全局空间污染
- JavaScript.The.Good.Parts阅读笔记(二)作用域&闭包&减缓全局空间污染
- JavaScript.The.Good.Parts阅读笔记(二)作用域&闭包&减缓全局空间污染
- 读《JavaScript.The.Good.Parts》的一些笔记
- JavaScript:The Good Parts学习笔记1
- JavaScript: The Good Parts
- 读 《JavaScript: The Good Parts》 有感
- Awful Parts(Appendix A. of JavaScript: The Good Parts)
- JavaScript- The Good Parts function Curry
- OReilly JavaScript The Good Parts 关于Object.prototype和delete
- 烂笔头:Javascript The Good Parts
- JavaScript : the good parts(语言精髓读书笔记)
- JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
- Objects(Chapter 3 of JavaScript: The Good Parts)
- functional继承模式 来自javascript:the good parts
- functional继承模式 摘自javascript:the good parts
- JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
- OReilly JavaScript The Good Parts 关于变量的使用