1.null和undefined都被用来表示空值,当使用不严格等于号(==)做判断时,他们是等价的。
console.log(null == undefined); // 输出true |
这也是为什么我们在代码中判断相等时避免使用==
2.当对null执行typeof运算时,结果返回object,也就是说null是一个对象,表示“空对象”
null的典型用法包括:
console.log(Object.getPrototypeOf(Object.prototype)); // 输出null |
3.undefined,顾名思义表示“未定义”,它是变量的一种取值,表示变量没有初始化。
undefined的用法包括:
var func = function(){ |
等价于
var func = function(){ |
var mycars = new Array(); |
但是用for in遍历时,并不会输出undefined
for (y in mycars) { |
所以有人推荐不使用for in,其实还有更深层次的原因。因为for in是对整个原型链的遍历,如果我们修改了数组的原型,那么遍历出的结果就不仅仅是数组中的元素了。