1、call、apply、bind的用法
var name = 'xiaowang',age = 17;
var obj = {
name:'xiaozhang',
age:this.age,
address:this.address,
do(){
console.log(this.name+"今年"+this.age+"岁"); //this指向obj
}
}
var obj2 = {
name:"honhhonh",
age:22
}
obj.do.call(obj2); //此时this指向obj2
obj.do.apply(obj2); //此时this指向obj2
obj.do.bind(obj2)(); //此时this指向obj2
2、call、apply、bind传参情况下
var obj = {
name:'xiaozhang',
age:this.age,
address:this.address,
do(address,email){
console.log(this.name+"今年"+this.age+"岁");
}
}
var obj2 = {
name:"honhhonh",
age:22
}
obj.do.call(obj2,"sahnghai","1111111@qq.com");
obj.do.apply(obj2,["sahnghai","1111111@qq.com"]);
obj.do.bind(obj2,"sahnghai","1111111@qq.com")();