call的功能:1、让调用call的函数执行;2、在函数执行的时候,传入this的指向
call接受参数及使用:
function add(a,b,c){
console.log(a,b,c);
console.log(this);
}
var obj={name:'lili',age:12};
add.call(obj,1,2,3);
add.apply(obj,[1,2,3]);//apply的功能:1、与call功能一样;2、但传参方式与call()不一样
输出的1 2 3 是这一句的结果:console.log(a,b,c);
输出的对象是来自:console.log(this);
bind的功能:1、不能使调用bind的函数执行;2、可以改变函数内部的this;3、会生成一个新的函数
function add(a,b,c){
console.log(a,b,c);
console.log(this);
}
var obj={name:'lili',age:12};
var f2=add.bind(obj);
f2(1,2,3);