javaScript语言有两个表示"无"的值:分别为undefined和null
表示一个值被定义了,定义为“空值”
表示根本不存在赋值
这两个有什么相同和并呢?
1. 在javaScript中,将一个变量赋值为undefined或null,几乎没区别
var a = null; var a = undefined;
上面代码中,a变量分别被赋值为undefined和null,这两种写法几乎相等
2. 在运算符==中是相等的
undefined == null //true
3. if条件中都被转为false
if (!undefined) console.log('undefined is false');// undefined is false if (!null) console.log('null is false');// null is false
1. 运算符===中是不相等的
undefined === null //false
2. typeof运算符结果不同
typeof(undefined) //undefined typeof(null) //object
3. 自动转为数值时不同
Number(null) //0 Number(undefined) //NaN
1. null本身不是对象,但typeof(null)却返回object
2. parseInt(null),竟然返回NaN
评论