JS-用var聲明變量和不用var聲明變量的區別


當不用var聲明一個JavaScript全局變量時,實際上是定義了全局對象的一個屬性。(在客戶端的JavaScript中,在瀏覽器窗口中的所有JavaScript代碼中,Window對象充當了全局對象。)

當使用var聲明一個變量時,創建的這個屬性是不可配置的,也就是說這個變量無法通過delete運算符刪除。如果你沒有使用嚴格模式並給一個未聲明的變量賦值的話,JavaScript會自動創建一個全局變量。以這種方式創建的變量時全局對象的正常的可配置屬性,並可以刪除他們。

var var_true = 1; // 聲明一個不可刪除的全局變量
var_fake = 2; // 創建全局對象的一個可刪除的屬性
this.var_fake2 = 3; // 同上

delete var_true //=> false:變量無法被刪除
delete var_fake //=> true:變量被刪除
delete this.var_fake2 //=> true:變量被刪除

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM