考点:this 指向
- 是否立即调用[bind 绑定之后还是一个函数需要自调一次]
xw.say.bind(xh,"实验小学","六年级")()
xw.say.bind(xh)("实验小学","六年级")
- 可以传参数的个数[apply 只能传递两个参数,第一个是需要绑定的 this 对象,第二个是一个数组]
var xw = {
name : "小王",
gender : "男",
age : 24,
say : function(school,grade) {
alert(this.name + " , " + this.gender + " ,今年" + this.age + " ,在" + school + "上" + grade);
}
}
var xh = {
name : "小红",
gender : "女",
age : 18
}
xw.say(); // 小王 , 男 , 今年 24
xw.say.call(xh,'希望小学','三年级'); // 小红 , 女 , 今年 18 在希望小学上三年级
xw.say.apply(xh,['希望小学','三年级']); // 小红 , 女 , 今年 18 在希望小学上三年级
xw.say.bind(xh,'希望小学','三年级')(); // 小红 , 女 , 今年 18 在希望小学上三年级