2009-12-11 20 views
0

我正在拿起一個項目的維護和閱讀代碼:
我看到兩個變量聲明的方法。有人可以解釋第一行和第二行之間的區別嗎?這裏變量的延遲有什麼區別?

對我來說,我正在閱讀的JavaScript中,var關鍵字是可選的。在第一行中,他們宣佈了兩個新變量並初始化它們。在第二行中,他們宣佈了兩個新的變量,但沒有初始化它們。我應該從這裏採取更多?

aURL = ""; msgNb = 1; 
var mode, param, counter; 
+0

這不就是JavaScript嗎? jQuery沒有自己的語言,是嗎? –

+1

我是web dev的新手,所以是的,這可能只是一個javascript問題。這就是我在這裏要了解的 – MedicineMan

回答

9

除非所有這些變量都是他們都是全局函數裏面,前兩個是任務,我猜是因爲他們先前聲明,否則可能會縮短到

var aURL = '', 
    msgNb = 1, 
    mode, 
    param, 
    counter; 

的未分配的默認值具有未定義的值。

您應該始終使用var關鍵字將變量保持在相同的函數範圍內,而不是強制它變成隱式的全局變量,否則可能會遇到重複的變量命名和賦值問題。

3

如果您沒有使用var,那麼您使用(或創建)一個「父」範圍的變量,如果它沒有在任何範圍內找到本地變量,則一直變爲全局變量。

3

這不是一個「jquery」的問題,而是一個JavaScript問題。沒有「var」關鍵字的變量具有全局作用域,即它可以從所有方法,對象等中看到。var僅在其特定範圍內可見。

相關問題