作为参数传递时,如何调用函数引用

时间:2013-05-23 19:27:49

标签: javascript function

这是一些示例代码。

invoke(arr, Array.prototype.sort);

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

4 个答案:

答案 0 :(得分:4)

您应该使用.call()

invoke(arr, Array.prototype.sort);

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

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

答案 1 :(得分:3)

使用Function.call:

func.call(arr);

答案 2 :(得分:2)

invoke(arr, Array.prototype.sort);

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

答案 3 :(得分:0)

你只需将其称为常规功能即可。

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