call apply

Posted 且听风吟V

tags:

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

1.call  方法的作用是一模一样的,都是用来改变方法的this关键字并且把方法执行:

而且在严格模式下对于第一个参数是null/undefined这种情况的规律也是一样的;

 var obj ={name:"珠峰培训"};
       function fn(num1,num2){
           console.log(num1 +num2);
           console.log(this);
       }
       //fn.call(100,200);//this是100,num1=200,num2=undefined
       fn.call(obj,100,200);

2.apply 和call一模一样,第一个参数是this后面参数变为数组

3.bind 只是改变了fn中的this为obj,并且给fn传递了两个参数值1、2,但是此时并没有把fn这个函数执行,

执行bind会有一个返回值,这个返回值res就是我们把fn的this改变后的那个结果

bind 等于把fn进行了预处理

  var obj ={name:"珠峰培训"};
       function fn(num1,num2){
           console.log(num1 +num2);
           console.log(this);
       }
       var res = fn.bind(obj,1,2);
       res(1,2);

 

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

apply和call的用法

apply()方法和call()方法

关于call和apply的使用和区别

call()和apply()方法

关于JS中apply和call详细解答

call 和 apply方法解析