2016-07-28 37 views
0

我對瀏覽器控制檯中的局部變量和全局變量的區別有些疑問,當我鍵入var a = 5並在Chrome瀏覽器控制檯中輸入時,它返回undefined,但是當我輸入a = 5時不返回任何內容。Chrome瀏覽器控制檯全局變量

回答

4

這與本地和全局變量無關。只是控制檯顯示的是聲明的結果。 var報表沒有結果,因此您看到undefined。作業陳述 有一個結果(分配值),所以你看到了這個值。

如果你沒有

var a = 5; 
a 

...你會看到後面5undefined


技術上講,它含有賦值表達式一個表達式語句

0

在我的理解當你寫a=5時,這將創建一個全局變量。所以它將成爲window對象的一部分。因此你得到它的價值。

當你做var a = 5,一個新的變量(引用)將被創建,然後值將被設置。因此,您將獲得undefined

你甚至可以嘗試下面的代碼進行測試。

var a = {}; 
a.b = 5; 

這將返回5而不是undefined

+0

我在這裏有疑問,所以第一個新的引用變量會創建之後,它將返回undefined後值將分配給參考變量 –

+0

排序。所以,因爲編譯器必須創建一個新的引用,它將創建它並返回它的值,並將*設置值*作爲異步 – Rajesh

相關問題