回答
variable_name = 5
將始終把variable_name
到全局對象(這是window
在瀏覽器中)
如果你在global context
(=不是函數上下文)兩種說法都基本相同。但是,如果您處於函數上下文中,則var
確保只在當前上下文中聲明此變量。
因此,例如:
function foobar() {
bar = 55;
}
foobar();
window.bar === 55 // true
更好:
function foobar() {
var bar = 55;
}
window.bar === 55 // false
結論:一個函數的範圍內總是使用var
。這樣可以避免用變量覆蓋/覆蓋全局對象。
var
keyword將變量的範圍限制爲當前函數。放棄它是一個全球性的。 Globals are bad和should be avoided,因爲它們是彼此干擾的競爭條件和腳本的關鍵來源。
它沒有區別 - 第二個(x = 5;)變量會自動聲明,如果它尚不存在。
但是我總是使用第一個選項。
它肯定會*有所作爲。 `function a(){var x = 1; } x = 0;一個();警報(x.toString());`。擺脫`var`並看看你的結果是否沒有改變。 – cHao 2011-01-27 03:14:48
x=5
表示該變量(執行後)將成爲全局變量,並且可以被代碼中的所有其他部分(以及其他JavaScript)訪問。
而var x=5
將只有到它被宣佈塊熟悉的,(和它的後代)
注意,雖然x=5
將是全球性的,它只會在此行是執行成爲全球性的! 所以,如果你把它放在一個函數中,它將在該函數被調用後纔會變成全局的(第一次)。
- 1. JavaScript變量變量
- 2. Javascript中的「變量」變量?
- 3. javascript變量爲php變量
- 4. JavaScript變量爲PHP變量
- 5. PHP變量爲Javascript變量
- 6. Javascript變量不變
- 7. 的Javascript變量
- 8. JavaScript變量值
- 9. javascript變量?
- 10. jquery Javascript變量
- 11. Javascript undefined變量
- 12. JavaScript變量
- 13. JavaScript的變量
- 14. JavaScript的變量
- 15. 寫JavaScript變量
- 16. highcharts javascript變量
- 17. 從javascript變量javascript getElementsByClassName
- 18. javascript改變ruby變量
- 19. Javascript變量值變化
- 20. 將JavaScript值變爲變量
- 21. 變量不改變Javascript
- 22. 複製的JavaScript變量SSI變量
- 23. JavaScript變量mvc rezor變量問題
- 24. 獲取JavaScript變量到PHP變量
- 25. javascript:變量數組或變量?
- 26. 將javascript變量分配給ruby變量
- 27. 將JavaScript變量轉換爲PHP變量
- 28. 通過JavaScript變量值JSP變量
- 29. 將php變量賦值給javascript變量
- 30. 分配JavaScript變量Smarty的變量
+1在瀏覽器環境中提及`window`作爲全局對象。 – alex 2011-01-26 11:03:49