我正在读猫鼬的来源
Collection.prototype.onOpen = function () {
var self = this;
this.buffer = false;
self.doQueue();
};
Run Code Online (Sandbox Code Playgroud)
我不明白为什么笔者分配this到self和运行self.doQueue().为什么不运行:
this.buffer = false;
this.doQueue();
Run Code Online (Sandbox Code Playgroud)
我是javascript的新手,感谢您的帮助.
Ric*_*ard 16
你是对的,在这种情况下,他们可以简单地使用this.
使用me或者self有点像黑客来确保使用正确的上下文this,因为在JavaScript中的范围this是变体.例如,如果你有一个事件触发你的类中的一个函数,this将会有所不同,并且不会是你的函数所包含的对象,而是调用该函数的对象.为了解决这个问题,人们经常使用me或self确保他们引用正确的对象...... this,就像在实际对象中一样.
| 归档时间: |
|
| 查看次数: |
1677 次 |
| 最近记录: |