问题标签 [jslint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 使用 JSLint 验证 removeEventListener
我理解为什么 JSLint 会在这里发出警告,但我不知道如何编写我的代码以便验证。
这是一个简化的示例。在下面的代码中,我有一个对象,我需要将两个事件侦听器附加到:一个用于“完成”,另一个用于“错误”。每个都指向自己的事件处理程序。当到达任一事件处理程序时,我想删除这两个事件处理程序。但是当我尝试从第一个事件处理程序中删除第二个事件处理程序的侦听器时,我总是会收到验证错误。
每当我收到这些警告之一时,它总是意味着我做错了什么,但在这种情况下,我看不出如何解决这个问题。有谁知道这样做的正确方法是什么?
验证错误是:(
Lint at line 5 character 41: 'handleError' is not defined.
网络客户端说Implied global: handleError 5
)
jquery - 使用 jQuery 的 .each() 时,JSLint 的 function-within-a-loop 错误如何应用?
我正在使用一个 jQuery.each()
调用,它使用一个匿名函数,从一个for
循环内部。JSLint 提出警告“不要在循环中创建函数”。
这是一个更大函数的代码片段 - 本质上它正在检查游戏的每个玩家是否仍然“活着”(棋盘上至少有一个棋子)。
我可以看到如何删除此警告 - 只需单独声明该函数并调用它。但这是一个非常小的一次性函数,基本上我认为这是一个嵌套for
循环的主体,(我基本上是把.each()
调用读成类似的东西for $("td") in $board {}
)
这个 JSLint 是提供它的样式警告之一,还是更严重?
基本上,我最好解决这个问题吗?
我想了解警告的原因,所以任何关于警告存在的原因的评论都是有用的(我再次想知道它是否实用或风格)。
javascript - JSLint 混合空格和制表符错误
我通过 JSLint 运行了以下命令:
我收到了这个错误:
不确定如何解决?
javascript - JSLint“不安全字符”
我很高兴在 Mac OS X 上使用 Douglas Crockford 的 JSLint 并且我的代码通过了,但是在我得到一个 Ubuntu Hardy Slicehost 服务器并将我的代码上传到那里之后,当我尝试在服务器上运行它时,JSLint 不再通过。它在包含变音符号的本地化文件上失败。
我收到如下错误:
文件没有改变,我检查了 MD5 哈希,两者都相同。这就是我从部署脚本运行 JSLint 的方式:
有任何想法吗?有什么不同?我检查了环境(env / set),对字符集/编码的唯一引用是“LC_CTYPE=UTF-8”。我尝试将其设置为相同,但似乎没有效果。
jslint - JSLint:为什么会出现这个警告?
为什么 JSLint 会产生这种警告
第 xxx 行字符 yyy 处的问题:预期 'X' 在 xx 处有一个缩进,而不是在 yyy 处。
为什么有不同的空间格式很重要?
jslint - JSLint - 忽略代码部分
我有一个通过 JSLint 的巨大脚本(包括避免所有不好的部分)。除了一段,这是一些非常复杂的混淆代码,嵌入在更大的上下文中。JSLint 对此部分产生了相当多的抱怨,我想为这段代码选择性地禁用它。我已经使用了选择性
指令来禁用某些与结构解释相反的小段代码的特定警告。
我使用的混淆代码使用了我不知道它们是否可以被禁用的构造。
例如:
导致此消息:
当然,我知道我可以清理代码,但它是从混淆器发出的,我真的不想清理混淆代码!
那么,有没有办法告诉 JSLint 完全忽略延伸代码?
我知道这个查询JSLint: control comments (selective ignore)但没有得到回答。
javascript - 如何解决 JSLint 警告“不要使用 'new' 产生副作用”?
为什么我会收到这些错误?
第 329 行字符 60 处的问题:不要使用“新”来表示副作用。
new widget.StyledDropdown(dojo.byId("sTitle"));
第 330 行字符 61 处的问题:不要使用“新”来表示副作用。
new widget.StyledDropdown(dojo.byId("sSuffix"));
第 336 行字符 57 处的问题:不要使用“新”来表示副作用。
true,{shortenName : true,maxChars : 20});
第 338 行字符 129 处的问题:不要使用“新”来表示副作用。
new widget.StyledDropdown(dojo.byId("sCountry"),USPS.Address.countrySw...
javascript - JavaScript:JSLint 抛出“只读
我的代码:
注意:为了更好的可读性,在下面的代码段中声明了 Slider 对象但省略了
这是 JSLint 产生的(以及其他两个对象 SliderInstance 和 DomObjects)
我如何满足 JSLint 的要求?什么是“只读”。意思是?
javascript - JSLint 期望 '===' 而看到 '=='
最近,当我遇到此错误时,我正在通过 JSLint 运行我的一些代码。我认为这个错误的有趣之处在于它自动假定所有 == 都应该是 ===。
这真的有意义吗?我可以看到很多你不想比较类型的实例,我担心这实际上会导致问题。
“预期”一词意味着每次都应该这样做......这对我来说没有意义。
javascript - 准备使网站与 Internet Explorer 8 兼容
我刚刚接管了一个包含10,000 多行 Javascript的大型 Web 应用程序的维护工作。
目前它在 Firefox 3.5+、Safari 4+ 和 Chrome 上运行,我必须让它与 IE8 一起工作。
我是一位非常有经验的程序员,但我只有一点 Javascript 经验——尽管我已经了解了quirksmode的可疑乐趣,并且我有一份Javascript The Good Parts 的副本。
Javascript 使用了大量的JQuery(其中很大一部分很好用)。
我想以系统的方式进行,并希望获得有关如何构建我的移植活动的建议。
通用方法是旧的“OpenBSD 泛化”策略 - 当发现跨站点错误时,系统地搜索代码库以查找可能发生的其他地方并修复它们。
BGerrison 刚刚指出我还需要考虑 CSS 兼容性,所以让我们也将其混入其中。
到目前为止,我想出的方法论是:
- 运行jslint并修复任何 linting 错误
在我投入之前,我应该采取哪些结构化的步骤或我应该熟悉的资源?
更新
我发现 Opera 10 中的控制台会检查您的 css 并报告任何 css 拼写错误和东西......