2010-06-20 27 views
5

可能重複:
Difference between using var and not using var in JavaScript凡使用「變種」在JavaScript程序

你好,

我是一個自我瞭解到開發商往常一樣,我寫JavaScript的無var爲變量,但有些javascripts使用var作爲變量。

兩者都適合我。我有點困惑。

是用var寫腳本的一種標準形式,還是隻用在類中?

+0

[使用var和不在JavaScript中使用var之間的差異]的可能重複(http://stackoverflow.com/questions/1470488/difference-between-using-var-and-not-using-var-in-javascript ),[Javascript:是使用'var'來聲明變量可選?](http://stackoverflow.com/questions/2485423/javascript-is-using-var-to-declare-variables-optional),[JavaScript變量作用域問題:要var,或不要var](http://stackoverflow.com/questions/1956296/javascript-variable-scope-question-to-var-or-not-to-var),通過SO搜索找到' javascript var';) – 2010-06-20 13:55:12

+0

謝謝felix Kling!版主可以根據需要關閉此帖子! – 2010-06-20 13:59:36

回答

11

var將變量的作用域限定在它聲明的函數中,如果你不使用var你創建一個全局變量。

全局變量往往會導致代碼難以維護並且受到競爭條件的困擾。

總是使用var,除非你有一個非常好的理由不要。

+0

我不一定會說競爭條件是問題,因爲Javascript(Web Workers放在一邊)的執行是單線程的。國際海事組織,這個問題的一個更好的聲明是命名空間污染和狀態跺腳(意外覆蓋你需要的數據)。 – 2010-06-20 16:51:34

1

如果你不使用var,那麼這個變量將是全局的,並不侷限於你所在的範圍內(全局空間中的另一個變量有同名的問題,你只是覆蓋它,可能無意)。

簡版:總是使用var是安全的。