2013-07-05 135 views
0

我有一個javascript變量,它在eclipse中向我發出以下警告: 全局變量索引沒有顯式聲明。Eclipse:未明確聲明全局變量

var inputs, index, inputLenght; 
inputs = document.getElementsByTagName('p'); 
inputLength =inputs.length; 
for (index = 0; index < inputLength; ++index) { 
    // some stuf to do 
} 

當我做這個警告消失

for (var index = 0; index < inputLength; ++index) { 
    // some stuf to do 
} 

我想知道爲什麼它定義爲一個全局變量給出了一個警告?

+0

它的變量名稱前的''var' index'。Eclipse是說,沒有明確宣佈,這是一個很好行爲在使用它們之前用'var'聲明變量,然而當你使用它時,JavaScript會創建變量,但是當你錯誤輸入'indxe'時會產生問題,因爲它不會抱怨,而只是創建一個新變量這個名字和行爲奇怪 – Jacopofar

+0

在Webstorm中我沒有得到任何警告。必須只是一個Eclipse的東西 –

+0

Exlipse意味着你不初始化變量,它只是一個關於代碼風格的警告。順便說一句,你有錯字inputLeng ** ht **/inputLeng ** th ** – Tommi

回答

0

因爲在你的第一個例子中,你是沒有價值聲明,但在第二個聲明它值 -

var index; 

VS

var index = 0; 

無論是當然,問題只是Eclipse的觀點。

+0

一致認爲,必須是日食問題:) – Joseph

0

嘗試將var語句分解爲多個var語句: var inputs; var index; var inputLenght;

可能是一個Eclipse中的JavaScript警告問題(不理解var語句定義多個瓦爾...

+0

var inputLength; var輸入; var index; OR this var inputs,index,inputLength; ====>同樣,我仍然有警告。 – Joseph