我正在尝试找出做某事的最佳方法。 我有一个充当 HTML 模板的变量,并插入对象数组中的属性。简单代码如下:
i = 0;
v = "<li>",
v += array[i].prop,
v += "</li>";
对象数组:
array = new Array();
array[0] = { name: "1",
prop: "Property 1"
}
array[1] = { name: "2",
prop: "Property 2"
}
这就是让我着迷的一点:
for (; i < array.length ;) {
i += 1;
console.log(i);
$("body").append(v);
}
i 在控制台中返回为 0 和 1,但 prop 值返回为“Property 1”两次。 据我所知,由于我没有在 for 循环中声明 i ,所以它应该将 i 的新值返回到最初声明的变量。这显然是我遗漏/不理解的范围问题。
提前致谢。
最佳答案
v
不会在循环内重新分配。您多次附加相同的值。
关于javascript - for 循环和变量范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17078310/