相关疑难解决方法(0)

在JavaScript中使用Function.call.apply的目的是什么?

当我偶然发现用于创建"快速,未绑定的包装器"的Function.call.apply hack时,我正在浏览JavaScript Garden.它说:

另一个技巧是同时使用call和apply来创建快速,未绑定的包装器.

function Foo() {}

Foo.prototype.method = function(a, b, c) {
    console.log(this, a, b, c);
};

// Create an unbound version of "method" 
// It takes the parameters: this, arg1, arg2...argN
Foo.method = function() {

    // Result: Foo.prototype.method.call(this, arg1, arg2... argN)
    Function.call.apply(Foo.prototype.method, arguments);
};
Run Code Online (Sandbox Code Playgroud)

我不明白的是,当Function.apply足够时,为什么还要使用Function.call.apply.毕竟,它们都在语义上是等价的.

javascript

16
推荐指数
1
解决办法
2802
查看次数

标签 统计

javascript ×1