好吧,我的問題很簡單: 在JavaScript/ES6當你有像ES6/JavaScript的 - 聲明不設/常變量
x = 5;
console.log(x); // 5
是解釋器自動加入
會發生什麼「讓「在運行時或爲什麼這個工作沒有錯誤?
編輯:嚴格模式 ES5的語法允許一些所謂的隱式全局變量,這已經有很多令人沮喪的編程錯誤的 源。簡而言之,如果您忘記用var聲明 變量,那麼JavaScript會高興地認爲您指的是全局變量 。如果沒有這樣的全局變量存在,它會創建一個!你可以想象這造成的 問題。
我明白了。感謝您的所有評論。我現在明白爲什麼會發生這種情況。謝謝!
您已經創建了一個非嚴格的情況下隱式全局變量。 – Jackson
如果你處於嚴格模式(我認爲你總是應該這樣做),它會拋出一個異常,而不是創建一個隱式的全局。此外,這不是ES6相關的,該行爲出現在ES6之前。 – ste2425
因爲你沒有使用「嚴格使用」 – Oriol