相同点
在JavaScript中,null 和 undefined 几乎相等
在 if 语句中 null 和 undefined 都会转为false两者用相等运算符比较也是相等
console.log(null==undefined); //true 因为两者都默认转换成了false
console.log(typeof undefined); //"undefined"
console.log(typeof null); //"object"
console.log(null===undefined); //false "==="表示绝对相等,null和undefined类型是不一样的,所以输出“false”
区别
null
- null表示没有对象,可能将来要赋值一个对象,即该处不应该有值
(1) 作为函数的参数,表示该函数的参数不是对象
(2) 作为对象原型链的终点
undefined
- undefined表示缺少值,即此处应该有值,但没有定义
(1)定义了形参,没有传实参,显示undefined
(2)对象属性名不存在时,显示undefined
(3)函数没有写返回值,即没有写return,拿到的是undefined
(4)写了return,但没有赋值,拿到的是undefined
var i;
i // undefined
function f(x){console.log(x)}
f() // undefined
var o = new Object();
o.p // undefined
var x = f();
x // undefined
本文探讨了JavaScript中null与undefined的相似之处与不同之处。它们在某些情况下被视为相等,但在含义上有所不同:null表示没有对象,而undefined则表示缺少值。文章详细解释了这两种类型的使用场景。
452

被折叠的 条评论
为什么被折叠?



