4
A
回答
1
a = 5將聲明來自任何範圍的全局變量。 var a = 5將在聲明的範圍內聲明一個變量。
a = 5; //global variable
var b = 6; // global variable
function foo(){
var c = 7; //local variable
d = 9; //global variable
}
+0
謝謝你的例子。 – kamal
2
var a
將創建局部變量。另一個將創建和/或設置一個全局變量。
大多數情況下,你最好創建局部變量,除非你絕對需要創建一個全局變量。
1
一個聲明一個變量,另一個沒有。
var
關鍵字用於聲明變量,並且該變量在當前範圍內創建。
如果您爲尚未存在的變量賦值,則會在全局範圍內隱式創建該變量。
1
a = 5;
這將設置一個變量,如果變量尚未被聲明,那麼它將在全局範圍內創建(您可能不想)。
var a = 5;
這將創建並設置一個變量。如果在函數內,變量將作爲函數作用域中的局部變量創建,否則將全局創建。
另外值得注意的是,var a = 5的語句將被提升到函數的頂部。即
function() {
doSomestuff();
a = 4;
var a = 5;
doOtherStuff();
}
實際上變成
function() {
var a = 5;
doSomestuff();
a = 4;
doOtherStuff();
}
更多信息,請參見https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var。
另外值得注意的是,如果你使用嚴格模式,你不能用a = 5來聲明一個變量。你必須使用var關鍵字。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode
這是值得做的,因爲把你的錯誤,無法檢測到明顯的錯誤。
相關問題
- 1. 聲明變量之間的區別
- 2. 聲明變量與var與無var之間的區別
- 3. Perl變量聲明中的$,@,%之間有什麼區別?
- 4. Bash中聲明,排版和局部變量之間的區別
- 5. 變量和聲明對象之間的區別
- 6. 接口聲明中@property和變量之間的區別
- 7. 聲明變量in/out之間有什麼區別嗎?
- 8. 使用Scriptlet聲明變量和變量之間的區別是什麼?
- 9. 兩個DLL聲明之間的區別
- 10. 定義和聲明之間的區別
- 11. Javascript - 函數聲明之間的區別
- 12. JavaScript函數聲明之間的區別?
- 13. 在函數頂部聲明的變量和稍後聲明的變量之間的區別
- 14. Cocoa類中變量聲明的區別
- 15. **變量和變量[] []之間的區別?
- 16. Go中短變量聲明和長變量聲明之間的關閉範圍區別是什麼?
- 17. 聲明式標籤聲明之間的區別?
- 18. 靜態聲明和非靜態聲明之間的區別
- 19. 在界面和類中聲明的常量之間的區別?
- 20. 聲明Stream與try-with-resources聲明之間有什麼區別?
- 21. Array聲明和Collection聲明之間有什麼區別
- 22. 聲明一個變量有和沒有得到之間的區別;組;
- 23. 在構造函數內部或外部聲明變量之間的區別?
- 24. Python - 斐波那契函數變量值聲明之間的區別
- 25. for循環中聲明變量和外部循環之間有什麼區別?
- 26. bash變量之間的區別
- 27. Ruby - 變量和@variable之間的區別
- 28. 兩個SYSTEMTIME變量之間的區別
- 29. 在.h文件中聲明實例變量和在@interface大括號中聲明.m之間的區別
- 30. 聲明IBoutlet取決於它聲明的位置之間的區別
a = 5; a是全球性的; var a = 5; a是本地的; – Petroff