- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 JSLint 中检查了以下代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Reset textarea</title>
</head>
<body>
<textarea id="ta">
<p>Hello</p>
</textarea>
<input type="button" value="Reset" onclick="reset();">
<script>
function reset() {
var ta = document.getElementById('ta');
if (!ta.value || ta.value != ta.defaultValue && confirm('Are you sure?')) {
ta.value = ta.defaultValue;
}
}
</script>
</body>
</html>
我得到了以下错误:
Expected '!==' and instead saw '!='.
因为textarea的值和默认值都是string
类型,所以比较之前没有类型转换,除了让你的JS文件变大之外,没有任何区别!
The '&&' subexpression should be wrapped in parens.
当 &&
的 precedence 更高时,为什么要添加括号?比||
?我可以简单地删除 nested parentheses而不是:
if (!ta.value || (ta.value != ta.defaultValue && confirm('Are you sure?')))
如果我弄错了,请纠正我。
最佳答案
JSLint 旨在生成更多人类可读的代码,使用编写 JSLint 的人定义的规则(这可能基于其他人的意见,但最终只是意见)
因此,!==
比 !=
更具人类可读性,因为它明显表明比较是严格的。但是,您知道不同,因为 ta.value
和 ta.defaultValue
实际上总是字符串,因此您不需要遵循 JSLint 的建议。
类似地,用括号括起 &&
表达式使它更易于阅读,因为它清楚地表明了事物的运行顺序。虽然您可能知道优先顺序,但并不是每个人都能一目了然可能解释错了。
重申一下,JSLint 是建议和意见,而不是法律。
关于javascript - 我无缘无故地在 JSLint 中遇到了两个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22764620/
我有以下功能。其作用是过滤子域中允许的字符。在 JSLint 中我收到以下错误。有什么办法可以做到这一点而不 JSLint 显示错误。我知道我可以忽略 JSLint 设置中的错误,但是有没有其他方法可
我在 jsLint 中收到以下错误: 'document' was used before it was defined. 导致错误的行: document.cookie = name + "=" +
我使用 hallettj / jslint.vim在 Ubuntu 12.04 上,一切正常。但在 Windows 7(x64) 上,它显示错误: Error detected while proce
我遇到了一些麻烦。我把电脑留在家里去了我的避暑别墅几天,当我回到家并尝试将文件保存在 Sublime Text 2 中时,我收到此错误: module.js:340 throw err;
我们刚刚开始使用JSHint / JSLint,并且正在寻找一些“最佳实践”类型设置,这些设置被广泛认为是严格性和实用主义之间的良好折衷。我在互联网上看过一眼,却找不到任何东西。 我意识到这完全取决于
我有一个通过 JSLint 的巨大脚本(包括避免所有不好的部分)。除了一段,这是一些非常复杂的混淆代码,嵌入在更大的上下文中。 JSLint 对此部分产生了相当多的提示,我想为那段代码选择性地禁用它。
我查看了许多关于通过本地包装函数来消除 jslint 中(必要的)未使用参数错误的 stackoverflow 答案,如下所示: /*jslint unparam: true*/ //my funct
使用 jslint 分析文件时,是否可以使用在另一个 js 文件中声明的全局变量? . 目前我必须在标题中声明我所有的全局变量,但是这真的很慢而且不实用。 /* global console, myg
我正在尝试使 makeprg 和 errorformat 与 VIM 和 jslint 一起使用,但似乎无法为我的生活提供正确的错误格式...我正在使用 nodejs 版本的 jslint,它产生如下
我通过 JSLint 运行了以下命令: $(document).ready(function() { /* Add paragraph on page load */
在注释中使用“不安全字符”(例如变音符)时,出现以下错误: This character may get silently deleted by one or more browsers. 有什么方法
在我的 Angular 应用程序中,我使用循环在对象中查找最接近给定数字的值并返回其键。 例如,我想要最接近 0.5 的值: for (var j in nums) { if (0.5 >
我想使用 JSLint ,但我对可以访问我未经过滤的源代码的工具持谨慎态度。是否有离线版本,或者是否有其他类似的工具可以对 JavaScript 离线进行“lint 错误检查”? 编辑:一个带有 GU
我的代码是: name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 我得到: Unexpected '\'. 为什么我会得到这个?我
JSLint 仅适用于一个 JavaScript 文件。最近,我开始将我的程序分成几个部分。 我不想每次使用 JSLint 检查代码时都将这些片段串起来。使用 JSLint 处理多个文件的标准解决方案
我总是通过向数字添加空字符串来将数字转换为字符串: var string = 1 + ''; 但是,JSLint 提示此方法预期为“String”,而看到了“'''”。,而且它看起来确实有点难看。 有
我正在使用 JSLint 来检查以下代码: 'use strict'; var mathService = { add: add, subtract: subtract, multi
所以我用这个检查了我的javascript:http://www.jslint.com/ 如果我不在 { } 之间包装 IF/FOR 语句,我会收到如下“错误”: Problem at line 15
所以我在最新版本的 jQuery 上运行 JSLint,可在 bit.ly/jqsource 获取。 。我已经尽可能宽松地进行了测试,但仍然会出现错误。其中之一是第 327 行的“使用命名参数”: 目
我根据 JSLint 标准(不包括几个选项)进行编码,我认为将其用于我的浏览器内单元测试可能是个好主意,这样我就不会意外地提交任何未通过它的内容.我使用的是 QUnit,但同样适用于任何浏览器内测试框
我是一名优秀的程序员,十分优秀!