【发布时间】:2011-09-30 13:12:41
【问题描述】:
您好,我不明白行为...
var myObject = {};
for (prop in obj){
var fnName = "get" + prop;
myObject[fnName] = function(){
return obj[prop];
};
}
我有对象“obj”,其中包含分配了对象的属性。对于每个属性,我想创建“get”+ 属性函数的名称并将其分配给“myObject”。一切都很好,除了,当我打电话时
myObject.getXXXA();
myObject.getXXXB();
myObject.getXXXC();
我为每个“getXXX()”方法接收到相同的对象。返回的对象是在“for (prop in obj)”循环中作为最后一个迭代的对象。就像函数体中的“prop”变量“return obj[prop];”已针对每个已分配的功能进行了更改。
有人可以解释一下这种行为吗?
【问题讨论】:
标签: javascript