【发布时间】:2015-05-19 06:31:34
【问题描述】:
编辑:此问题与 JSHint 相关,而不是 JSLint - 更改了标签。
以下给了我一个“可能的严格违规”。我理解为什么会发生违规 - 这是因为在 jslint 不认为是方法的函数中使用了 this:
function Widget(name){
this.name = name;
}
Widget.prototype.doSomething = doSomething;
function doSomething(){
console.log(this.name + " did something");
}
虽然,以下方法解决了 jslint 警告,但它们迫使我进入我宁愿避免的代码组织:
1) 内联声明函数:
Widget.prototype.doSomething = function (){
console.log(this.name + " did something");
}
2) 创建一个传递this的包装函数:
Widget.prototype.doSomething = function (){ return doSomething(this); };
function doSomething(self){
// ...
}
除了使用上述方法之外,还有其他方法可以组织代码来解决问题吗?
【问题讨论】:
-
在您的评论中,您使用的是 JSHint,我认为这可以解释断开连接。你能证实吗?这可能是标签编辑时间。 ?
-
好交易;祝你好运。我会删除我的答案。
标签: javascript jshint