wangdoc/javascript-tutorial

关于 this 的解释

bigcake008 opened this issue · 1 comments

https://github.com/wangdoc/javascript-tutorial/blob/master/docs/oop/this.md

代码:

var o = new Object();

o.f = function () {
console.log(this === o);
}

var f = function (){
o.f.apply(o);
// 或者 o.f.call(o);
};

// jQuery 的写法
$('#button').on('click', f);

在函数 f 中调用 o.f.apply(o) 使得 this 获得正确指向,其中 apply 并不是必要的,也就是说可以直接调用 o.f() 即可获得正确指向。其原因是在函数 f 中调用实例 o 的方法 f ,其上下文已经指向实例 o

ruanyf commented

谢谢指出,已经改正。