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的主要内容,如果未能解决你的问题,请参考以下文章