【发布时间】:2014-07-20 18:36:14
【问题描述】:
var arr = ['Foo'];
arr.forEach(function(item){
console.log(item);
item = 'Lorem';
console.dir(arr[0]);
});
for (var item in arr){
arr[item] = 'Ipsum';
console.dir(arr[0]);
}
如上面的代码所示,我注意到更改传递给forEach() 回调的项的值不会导致迭代对象改变。
使用for...in 当然可以。
为什么会这样?我应该如何更改数组中的值?
我发现 MDN 上的主题很混乱
【问题讨论】:
-
您请将您的代码放在这里而不是其他网站吗?
标签: javascript foreach pass-by-reference