JavaScript for loop抛出一个错误-循环对象数组

JavaScript for loop抛出一个错误-循环对象数组,javascript,arrays,Javascript,Arrays,我试图通过相应的按钮点击使内容弹出。我已经创建了一个数组,其中包含抓取的内容以及应该激活它的按钮。然后,我在这个数组上循环,并单击特定的按钮,该按钮将在对象数组中显示与其对应的内容。然而,我继续得到这个错误:“无法读取未定义的属性‘content’”。不太清楚为什么。这是密码。 ` var projectInfo数组=[ {btn:$(“.lm1”),内容:$(“.p1信息”)}, {btn:$(“.lm2”),内容:$(“.p2信息”)}, {btn:$(“.lm3”),内容:$(“.p3信息

我试图通过相应的按钮点击使内容弹出。我已经创建了一个数组,其中包含抓取的内容以及应该激活它的按钮。然后,我在这个数组上循环,并单击特定的按钮,该按钮将在对象数组中显示与其对应的内容。然而,我继续得到这个错误:“无法读取未定义的属性‘content’”。不太清楚为什么。这是密码。 `

var projectInfo数组=[
{btn:$(“.lm1”),内容:$(“.p1信息”)},
{btn:$(“.lm2”),内容:$(“.p2信息”)},
{btn:$(“.lm3”),内容:$(“.p3信息”)},
{btn:$(“.lm4”),内容:$(“.p4 info”)},
{btn:$(“.lm5”),内容:$(“.p5信息”)},
];
对于(var i=0;i

`

使用
而不是
var
,然后试试看

谢谢兄弟,这很有效!有什么原因吗?我知道let和var的范围不同,但这是原因吗?是的,主要是原因,为了在es2015之前解决这个问题,我们使用了闭包和IIFE概念。
var projectInfoArray = [
  { btn: $(".lm1"), content: $(".p1-info") },
  { btn: $(".lm2"), content: $(".p2-info") },
  { btn: $(".lm3"), content: $(".p3-info") },
  { btn: $(".lm4"), content: $(".p4-info") },
  { btn: $(".lm5"), content: $(".p5-info") },
];

for (var i = 0; i < projectInfoArray.length; i++) {
  projectInfoArray[i].btn.click(function () {
    projectInfoArray[i].content.fadeIn();
  });
}