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 が何であれ、機能するかどうかは問題ではありません。
どうすればこれを達成できますか?