2011-06-17 82 views
1

如果我運行這段代碼在Firebug一切順利和作品:語法錯誤在我的JavaScript代碼?

var ingarray =$(".ingsparts"); 

$.each(ingarray ,function(n){ 
var ing = ingarray[n]; 
console.log($(ing).find('.name').val()); 
console.log($(ing).find('.value').val()) 

}); 

但如果我跑這一點,這是行不通的:

var ingarray =$(".ingsparts"); 

$.each(ingarray ,function(n){ 
var ing = ingarray[n]; 
var in = $(ing).find('.name').val(); 
var ms = $(ing).find('.value').val(); 

}); 
+0

你覺得爲什麼它不工作 – 2011-06-17 08:19:37

+1

關於提供實際的錯誤信息是什麼? ;-) – 2011-06-17 08:19:55

+0

謝謝大家。我忘記了In保留 – Adrian 2011-06-17 09:22:44

回答

5

看來in是一個保留字;使用另一個變量名稱。

+0

確實,'in'是一個操作員。有關保留字的完整列表,請參見[規範]的第7.6.1節(http://www.ecma-international.org/publications/standards/Ecma-262.htm)。 – 2011-06-17 08:21:28

0

第二個示例定義函數內的in和ms變量。這意味着它們獲得函數範圍,並且在函數之外不可用。所以變量被設置,但從未使用過,也沒有被訪問過。

1

呀,不使用的變量名,而且,你的每一個都可以更簡單地完成:

var ingarray = $(".ingsparts"); 

ingarray.each(function(){ 
    var name = $(this).find('.name').val(); 
    var value = $(this).find('.value').val(); 
    ... 
});