null
和undefined
之间有几个区别,有时被理解为相同。
定义:
null
– null
是故意不存在的值,null
是JavaScript的原始值之一。undefined
– undefined
意味着该值在编译器中不存在,undefined
是全局对象。类型:
null
– Object undefined
: undefined
参考值比较:
null == undefined // true
null === undefined // false
这意味着null
等同于undefined
,但不完全相同。
当把一个变量定义为undefined
时,想表达的是这个变量不存在。当将一个变量定义为null
时,想表达的是该变量是空的。
使用isNaN()
进行区分 –
isNaN(2 + null) // false
isNaN(2 + undefined) // true
null示例:
null ? console.log("true") : console.log("false") // false
null
也被称为false
。
nudefined:
当变量没有被分配一个值时 –
var temp;
if(temp === undefined)
console.log("true"); // 输出
else
console.log("false");
访问不存在的值:
var temp=['a','b','c'];
if(temp[e] === undefined) //输出这里
console.log("true");
else
console.log("false");
下面以表格的形式来看看其中的区别:
NO. | nudefined | NULL |
---|---|---|
1 | nudefined 属性表示一个变量根本就没有被声明。 |
null 值表示没有任何对象值。 |
2 | nudefined 是ECMAScript1(ES1)的一个特征。 |
null 是Javascript中的原始值。 |
3 | nudefined 支持的浏览器有:Chrome , Microsoft Edge , Internet Explorer , Firefox , Safari , Opera Mini。 |
null 的语法: null |
4 | nudefined 是一个全局属性。 |
null 支持的浏览器有:Chrome , Microsoft Edge , Internet Explorer , Firefox , Safari , Opera Mini |
上一篇:项目工程师和现场工程师的区别
下一篇:ERP和IWMS的区别