我對下面的代碼很困惑:對象函數循環覆蓋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