null和undefined区别

相同性:

在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和undefined区别:

null表示没有对象,可能将来要赋值一个对象,即该处不应该有值

1) 作为函数的参数,表示该函数的参数不是对象

2) 作为对象原型链的终点


Object.getPrototypeOf(Object.prototype)
// null

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

猜你喜欢

转载自blog.csdn.net/weixin_43638968/article/details/109292296
今日推荐