undefined和null之间有什么区别?

时间:2017-10-07 09:42:13

标签: javascript

大多数博客都说未定义类型是在内存上分配但没有任何值的状态,而null类型是在具有空值的内存上分配的状态。

但是我认为在a.js文件的情况下。

a.js包括 console.log(typeof tmp);

并且可能打印未定义。 但在a.js文件中,未声明var tmp。 所以我猜tmp变量没有在内存中分配,但它显示为未定义。

为什么会这样?

1 个答案:

答案 0 :(得分:1)

undefined表示已声明变量但尚未分配值。另一方面,null是赋值。它可以作为无值的表示分配给变量。 另外,undefined和null是两种不同的类型:undefined是一个类型本身(未定义),而null是一个对象。 未分配的变量由JavaScript初始化,默认值为undefined。 JavaScript从不将值设置为null。这必须以编程方式完成。

参考:http://www.ajaymatharu.com/javascript-difference-between-undefined-and-null/