1

Here's some example code.

invoke(arr, Array.prototype.sort);

function invoke(arr, func){
    // invoke func on arr so that the resulting array is sorted.
}
4

4 回答 4

4

你应该使用.call()

invoke(arr, Array.prototype.sort);

function invoke(arr, func) {
    func.call(arr);
}

的第一个参数的Function.prototype.call()行为this与目标函数中的一样。

于 2013-05-23T19:31:53.607 回答
3

使用函数调用:

func.call(arr);
于 2013-05-23T19:30:06.667 回答
2
invoke(arr, Array.prototype.sort);

function invoke(arr, func){
    func.call( arr );
}
于 2013-05-23T19:29:13.993 回答
0

您只需要将其作为常规函数调用。

function invoke(arr, func){
    func();
}
于 2013-05-23T19:30:21.947 回答