用简单的测试来总结一下 Java字,特别是Node.js的原型。
function Lint() {
this.input = foo ;
events.EventEmitter.call(this);
}
Lint.prototype.dirs = function (dirs) {
_.each(dirs, this.files);
}
Lint.prototype.files = function (dir) {
console.log(this.input); // trying to get foo , returns undefined
}
var lint = new Lint();
lint.dirs([ js , js/views ]);
<代码>Lint.prototype.fileslogs un defined because this
isn t refer to the instance of Lint. 我在这里失踪了什么?
我认为,唯一的解决办法是,这项工作围绕最初的<代码>,即,从Lint.prototype.dirs
通过。 我确信,有更好的办法。