我对下面的代码很困惑:对象函数循环覆盖javascript?
var x =[ {name : 'name1' , value : 15 },{name :'name2' , value: 60} ];
var y = [[1,2,3] , [4,5,6]] ;
for(var t in y){
x[t].myFun = function(){console.log(y[t])} ;
}
console.log(x[0].myFun()) ;
不应该将此代码返回y
第一阵列为什么它返回第二个阵列?
这里是jsFiddle
只是单挑,for-in循环用于迭代对象中的成员。用于(var i = 0; i
kimpettersen
2013-02-11 21:06:49
实际的问题在于'console.log(y [t])',因为函数中't'的值总是等于它最后的值(即1) – Mahn 2013-02-11 21:09:27