0%

call apply bind的用法

call apply bind修正this的指向。

  1. call(参数一(对象),参数二,参数三) 参数一:this指向的对象,参数二是实参
  2. apply(对象,[实参一,实参二]])) 两个参数:参数一this指向对象,参数二是数组,可传实参
  3. bind(参数一(对象),参数二,参数三)();和call的用法基本一样,需主动调用函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var name = '张三';
var age = '18';
var obj = {
name: '李四',
age: 19,
showme: function () {
console.log(this.name + '今年' + this.age + '岁');
}
}
obj.showme();//李四今年19岁:this指向obj

var newobj = {
name: '王五',
age: 20
}

obj.showme.call(newobj);//王五今年20岁 this:newobj
obj.showme.apply(newobj);//王五今年20岁 this:newobj
obj.showme.bind(newobj)();//王五今年20岁 this:newobj