We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 5aa689b commit 200b44eCopy full SHA for 200b44e
docs/oop/this.md
@@ -679,19 +679,19 @@ Array.prototype.slice.apply({length: 1}) // [undefined]
679
前面的按钮点击事件的例子,可以改写如下。
680
681
```javascript
682
-var o = new Object();
+var obj = new Object();
683
684
-o.f = function () {
685
- console.log(this === o);
+var func = function () {
+ console.log(this === obj);
686
}
687
688
-var f = function (){
689
- o.f.apply(o);
690
- // 或者 o.f.call(o);
+var handler = function (){
+ func.apply(obj);
+ // 或者 f.call(obj);
691
};
692
693
// jQuery 的写法
694
-$('#button').on('click', f);
+$('#button').on('click', handler);
695
```
696
697
上面代码中,点击按钮以后,控制台将会显示`true`。由于`apply()`方法(或者`call()`方法)不仅绑定函数执行时所在的对象,还会立即执行函数,因此不得不把绑定语句写在一个函数体内。更简洁的写法是采用下面介绍的`bind()`方法。
0 commit comments