我想将全局变量传递给 javascript .each 函数并在迭代时保持其值。
这是代码。
var year = false;
page.posts.each(function(item, year){
year = true;
});
年还是假的。year如何在迭代中保持其价值?
我想将全局变量传递给 javascript .each 函数并在迭代时保持其值。
这是代码。
var year = false;
page.posts.each(function(item, year){
year = true;
});
年还是假的。year如何在迭代中保持其价值?
您在函数参数和全局变量之间存在名称冲突。由于函数参数名称更接近于执行的代码,当JavaScript通过变量名称查找你的意思时,它首先找到参数名称,所以这就是设置。
如果要显式设置全局变量,则必须访问它window
,即
window.year = true; // explicit global
您的变量名称存在冲突。
var year = false;
page.posts.each(function(item, yr){
year = true;
});
尝试附加到窗口文档并查看。
window.year = false;
page.posts.each(function(item, year){
year = true;
});
您可以重命名变量 year 以避免冲突,或者如果您只想更改全局变量,您应该使用 window.year = true
page.posts.each(function(item, year){
year = true;
});