开发者社区> 问答> 正文

Call 和 Apply 的区别

Call 和 Apply 的区别

展开
收起
珍宝珠 2020-02-14 14:02:15 1347 0
1 条回答
写回答
取消 提交回答
  • function.call(thisObj [, arg1[, arg2[, [, ...argN]]]]); function.apply(thisObj [, argArray] );

    定义: call 和 apply 可以让我们手动设置 this 指向
    两个参数: 第一个参数是 绑定 this 指向;第二个参数是 向将要执行的函数传递的参数
    区别: 第二个参数, call 以一个一个的形式传递参数;apply 以数组的形式传递参数

    var a = 10;
    function sum(num1, num2) {
        console.log(this.a + num1 + num2);
    }
    var obj = {
        a: 20
    }
    
    sum(10, 10);    //30
    sum.call(obj, 10, 10);       // 40
    sum.apply(obj, [10, 10]);    // 40
    
    2020-02-14 14:08:34
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Let's Work Together On The Future Of JavaScript Through TC39 立即下载
Spark SQL: Past, Present and Future 立即下载
Spark SQL:Past Present &Future 立即下载