call和apply

Posted super_素素

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了call和apply相关的知识,希望对你有一定的参考价值。

  • call和apply的作用:
    1、调用函数
    2、改变所调用函数的内部的this指向
    3、借用别的对象的方法
    */
    function foo(a,b,c){
    console.log(a,b,c);
    console.log(a + b + c);
    console.log(this);
    }
    // foo(1,2,3);
    // call的参数是单个的
    foo.call(null,1,2,3);
    // // apply的参数是一个数组
    // foo.apply(null,[1,2,3]);

  • // 在全局作用域内,所有的全局变量和全局函数都是window的成员(属性或者方法)
    var a = 1,b = 2;
    function fn(c,d){
    console.log(this.a + this.b + c + d);
    }
    fn(3,4);    //10
    fn.call({
    a : 3,
    b : 4
    },5,6);     //18
    fn.apply({
    a : 6,
    b : 9
    },[7,8]);   //30

  •   var arr = [12,324,45,456,56,6767,34];

         console.log(Math.max.apply(null,arr));  //6767




























以上是关于call和apply的主要内容,如果未能解决你的问题,请参考以下文章

design_model(12)chain

Javascript中call和apply的区别与详解

R语言do.call函数和call函数实战

3.3.2 进程池

JS中 call和apply的区别和作用

在JS中,call()方法和apply()方法到底该怎么应用?