当从 call() 或 apply() 调用时,有没有办法获取函数的返回值?
我的场景:
我有一个与函数配合良好的apply()
函数。在对象构造器上:
var someObject = new SomeObject({NameFunction: "MakeNames"});
在对象方法的循环中:
var name = "";
for (var i = 0; i < data.length; i++) {
name = window[this.NameFunction].apply(null, [data[i]]);
}
和MakeNames
功能:
function MakeNames(data)
{
return data.FirstName + " " + data.LastName;
}
该 varname
保持为空原因apply
不会从函数返回任何值。请注意,我确定该函数已被调用并且参数已成功传递。请不要告诉我name = MakeNames(data[i]);
直接使用,因为很明显我不想要这个解决方案。
不管它是否是apply
,call
或者任何 JavaScript 必须使它工作,如果有效的话。
我怎样才能做到这一点?