我正在阅读来源mongoose https://github.com/LearnBoost/mongoose/blob/master/lib/collection.js#L40
Collection.prototype.onOpen = function () {
var self = this;
this.buffer = false;
self.doQueue();
};
不明白作者为什么要这样安排this
to self
并运行self.doQueue()
。为什么不直接运行:
this.buffer = false;
this.doQueue();
我是 JavaScript 新手,谢谢您的帮助。
你是对的,在这种情况下他们可以简单地使用this
.
指某东西的用途me
or self
是为了确保正确的上下文有点黑客this
被使用,就像在 JavaScript 的范围内一样this
是变体。例如,如果您有一个事件触发类中的函数,this
会有所不同,并且不会是容纳该函数的对象,而是调用该函数的对象。为了解决这个问题人们经常使用me
or self
确保他们指的是正确的对象......this
,与实际对象一样。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)