javascript – 什么时候应该使用call()直接调用函数?

前端之家收集整理的这篇文章主要介绍了javascript – 什么时候应该使用call()直接调用函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个使用大量回调的 JavaScript应用程序.一个典型的函数将采取一个回调,并用另一个回调来包装.
Namespace.foo = function( arg,their_on_success ) {
    var my_on_success = function( result ) {
        console.log( 'my_on_success() called' );
        if( 'function' === typeof their_on_success ) {
              their_on_success( result );
        }
    }
    something( arg,my_on_success );
};

给出上述示例,何时应该使用本机call()方法(传递结果var作为第二个参数),而不是调用them_on_success()并通过函数调用传递结果?

解决方法

call()用来改变这个函数的值:
var obj = {a: 0};
method.call(obj,"parameter");
function method(para) {
    this.a == 0; // true <-- obj is now this
}

猜你在找的JavaScript相关文章