用const和let宣告的變數,不會存在window物件中
大家都知道在全域性作用域中用var宣告的變數,儲存在window物件中
但是用ES6的const或者let在全域性作用域中宣告的變數,卻不在window物件中
那這個全域性變數
abcd
被儲存在哪裡呢?經過我的尋找,終於在函式的內部屬性[[Scopes]]
中找到了,如下圖
如上圖,在全域性作用域中用
const
宣告的變數在函式noop
中可以正常訪問,沒有問題。我用dir
方法列印出函式noop
的屬性,最後在[[Scopes]]
屬性內找到了消失的全域性變數abcd
。