我怎麼能執行一個功能而創建使用JavaScript如何在創建使用javascript的對象時執行函數?
對象運行下面的代碼
var y = [] ;
var x = [[1,2,3] , [4,5,6] , [7,8,9]]
for (var i = 0 ; i < 3 ; i++){
y.push({name :'MyName' , value:function(){return x[i]} }) ;
}
console.log(y) ;
會生成以下對象
{name : 'MyName' , value : function(){return x[i]}
問題
怎麼能我執行這個對象函數:
{name : 'MyName' , value : function(){return [1,2,3]}
我試圖eval()
沒有工作
這裏是我的jsFiddle
對於誰問WHY
的人都這樣做? 我這樣做是因爲對象將被值複製,所以我最終將所有我object.Value
等於X [2];
只是做:y [0] .value() – Dve 2013-02-11 17:12:43
javascript會保持你的上下文,除非你覆蓋'x' – 2013-02-11 17:12:46
我真的不明白,爲什麼你需要一個函數,爲什麼不只是'y .push({name:'MyName',value:x [i]});'? [Fiddle](http://jsfiddle.net/2Jb9D/1/) – adeneo 2013-02-11 17:17:18