2017-10-07 138 views
0

大多數博客都說未定義類型是在內存中分配的狀態,但沒有任何值,而空類型是在具有空值的內存上分配的狀態。undefined和null之間有什麼區別?

但是我認爲如果是a.js文件。

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

它可能會打印未定義。 但在a.js文件中,var tmp未聲明。 所以我猜tmp變量沒有在內存中分配,但它顯示爲未定義。

爲什麼這樣?

回答

1

未定義表示已聲明變量但尚未分配值。另一方面,null是一個賦值。它可以分配給一個變量作爲無值的表示。 另外,undefined和null是兩種不同的類型:undefined是一個類型本身(undefined),而null是一個對象。 未分配的變量由JavaScript初始化,默認值爲undefined。 JavaScript永遠不會將值設置爲null。這必須以編程方式完成。

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

相關問題