【发布时间】:2011-03-11 00:59:40
【问题描述】:
我无法弄清楚这个范围问题:
var menuLinks = new Array("about.php", "contact.php");
function setClickListeners()
{
for(var i=0; i<menuItems.length; i++)
{
$("#" + menuItems[i]).click( function () {
window.alert(menuLinks[i]);
});
}
}
注意事项:menuItems 和 menuLink 的长度是一样的。此代码已被精简,以便于理解。
单击项目时此代码的结果是警报“未定义”。应该是 menuLinks 中的数据。
帮助!!!!
弗兰基
【问题讨论】:
-
封闭范围陷阱!闭包会像这样进入 for 循环。你需要一个
let -
添加
menuItems的代码可能会使您的帖子更加清晰。
标签: javascript jquery scope