0

我想将全局变量传递给 javascript .each 函数并在迭代时保持其值。

这是代码。

 var year = false;
 page.posts.each(function(item, year){
   year = true;
 });

年还是假的。year如何在迭代中保持其价值?

4

4 回答 4

1

您在函数参数和全局变量之间存在名称冲突。由于函数参数名称更接近于执行的代码,当JavaScript通过变量名称查找你的意思时,它首先找到参数名称,所以这就是设置。

如果要显式设置全局变量,则必须访问它window,即

window.year = true; // explicit global
于 2013-08-09T12:10:47.330 回答
0

您的变量名称存在冲突。

var year = false;
 page.posts.each(function(item, yr){
   year = true;
 });
于 2013-08-09T12:12:11.803 回答
0

尝试附加到窗口文档并查看。

 window.year = false;
 page.posts.each(function(item, year){
   year = true;
 });
于 2013-08-09T12:12:26.980 回答
0

您可以重命名变量 year 以避免冲突,或者如果您只想更改全局变量,您应该使用 window.year = true

page.posts.each(function(item, year){
   year = true;  
});
于 2013-08-09T12:30:32.823 回答