考虑这个简单的例子:
"use strict";
var Foo = {
field: 0,
func: function () {
this.field = 4;
}
}
Run Code Online (Sandbox Code Playgroud)
JSLint抛出错误:
出乎意料的'这个'.在"this.field = 4"行.
我在StackOverflow中似乎有一些问题要求这一点,在所有情况下,答案只是启用"容忍这个"标志.但是,我很感兴趣为什么JSLint创建者认为使用"this"是(或可能导致)错误.
另外,如何在没有"this"关键字的情况下实现成员函数,而不期望用户将实例作为第一个参数传递?
编辑也许我没有让自己明确这个问题,尽管看起来类似,但我没有回答我的问题:JSLint错误:意外'这个'
这个问题的问题不在于问题本身,而在于它得到的答案.请注意接受的答案是:"我的建议是:告诉JSLint关闭".我在帖子中特别说这对我来说不是一个有效的答案,因为我想理解为什么JSLint禁止使用这个,而不是如何避免这个错误.