null,undefined的区别

2023-12-25  本文已影响0人  简单tao的简单

null

null是一个表示"无"的对象
null 的字面意思是:空值 。这个值的语义是,希望表示 一个对象被人为的重置为空对象,而非一个变量最原始的状态 。 在内存里的表示就是,栈中的变量没有指向堆中的内存对象

用法:
类型转换

typeof null : object
布尔值 false
数字0
字符串‘null’

undefind

undefined表示“缺少值”,即此处应该有一个值,但是还没有定义

用法
类型转换

typeof undefined : undefined
布尔值 false
数字NaN
字符串'undefined'

如何检测它们?

==运算符将两者看作相等。如果要区分两者,要使用===或typeof运算符。

console.log(null == undefined) //true
console.log(null === undefined) //false

检测undefined

var exp = undefined;
if (typeof (exp) == 'undefined') {
    alert("undefined");
}

检测null

var exp = null;
if (!exp && typeof (exp) != "undefined" && exp != 0) {
    alert("is null");
}   
上一篇 下一篇

猜你喜欢

热点阅读