我有一個功能,複製包含鍵:函數對, 包含每個函數調用函數的地圖。Javascript範圍和hashmaps
function duplicateFunctionsMap(functionsMap){
var newMap = {};
for (var name in functionsMap){
var originalFunc = functionsMap[name];
newMap[name] = function(){
originalFunc();
}
}
return newMap;
}
現在試圖在複製地圖運行任何條目原來總是調用最後一個
duplicateFunctionsMap({
first: function(){alert("first");},
last: function(){alert("last");}
})["first"](); // outputs "last"
在這種情況下,匿名函數是矯枉過正,因爲直接設置工作過。 – pimvdb 2011-12-22 14:56:32
這不會重複功能 – Esailija 2011-12-22 16:54:13