一、undefined
1、undefined表示未赋值的变量,在访问未初始化的变量时,默认值是undefined,比如var a ,打印出来是undfined;
var a
console.log(a)
// undifined
2、函数没有返回值时,返回的是undefined。
二、null
1、null表示赋值了但是为空的对象
2、在 某些情况下,可以将变量显示赋值为null,它表示不指向任何对象,通常用于释放对象的引用,有助于垃圾回收。
3、原型链顶层为null,表示原型链的结束。
三、总结
null表示有值但是为空,一般都是程序员赋值为空,比如清空定时器函数,将对象设置为空。undefined就是定义但未赋值。(JS允许赋值为undefined,但是不符合语义化)
在 JavaScript 中,比较运算符 ==
进行比较时会进行类型转换。对于 null
和 undefined
,它们在相等性比较时被认为是相等的,即 null == undefined
返回 true
。
补充一个其他小知识: