问题标签 [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 说“var statements 太多”背后的原因是什么
JSLint(打开 onevar 标志)正在标记我拥有的一些 JavaScript 代码:
我很高兴修复这些错误,但我想知道,我这样做是为了提高性能还是因为这只是一种不好的做法,并且更有可能在我的 javascript 代码中引入错误。onevar 标志背后的原因是什么?
我确实查看了var 关键字的 JSLint 文档,但它没有具体讨论为什么同一函数中的多个 var 语句不好。
这是一个示例的尝试。解释代码将如何受益于只有 1 个 var 语句:
javascript - JSLint 可以离线使用吗?
我想使用JSLint,但我对可以访问我未经过滤的源代码的工具持谨慎态度。是否有离线版本或者是否有另一个类似的工具可以lint
离线对 JavaScript 进行“错误检查”?
编辑:一个带有 GUI 的,它向您显示样式化的错误列表,而不是命令行界面?
javascript - var x = new Array(); 有什么问题?
在 JSLint 中,它警告说
(这不是一个真正的变量名)应该是
第一种语法有什么问题?该建议背后的原因是什么?
javascript - 立即函数调用语法
有一个JSLint选项,实际上是 The Good Parts 之一,它“[需要] parens around immediate invocations”,这意味着构造
而是需要写成
我的问题是——谁能解释为什么第二种形式可能被认为更好?是不是更有韧性?更不容易出错?它比第一种形式有什么优势?
自从提出这个问题后,我开始理解在函数值和函数值之间进行清晰视觉区分的重要性。考虑立即调用的结果是赋值表达式右侧的情况:
虽然最外面的括号在语法上是不必要的,但左括号给出了一个预先指示,即被分配的值不是函数本身,而是被调用函数的结果。
这类似于 Crockford 关于构造函数大写的建议——它旨在为任何查看源代码的人提供视觉提示。
javascript - 为什么要避免 JavaScript 中的递增(“++”)和递减(“--”)运算符?
工具的提示之一jslint
是:
++
众所周知,--
(++
increment) 和--
(decrement) 运算符会通过鼓励过多的技巧来导致糟糕的代码。它们在启用病毒和其他安全威胁方面仅次于错误的架构。有一个 plusplus 选项禁止使用这些运算符。
我知道像这样的 PHP 结构$foo[$bar++]
很容易导致错误,但我想不出比以下更好的方法来控制循环:
或者
突出显示它们是jslint
因为有一些类似的语言缺少“ ++
”和“ --
”语法或处理方式不同,还是有其他理由可以避免我可能遗漏的“ ++
”和“ ”?--
javascript - 在记事本++中使用 JSLint
我已经看到其他文本编辑器使用扩展来允许语法检查器,例如JSLint,这可以使用 Notepad++ 吗?
javascript - 什么是 javascript 中的数组文字表示法,什么时候应该使用它?
JSLint 给了我这个错误:
第 11 行字符 33 处的问题:使用数组文字符号 []。
什么是数组文字表示法,为什么它要我使用它?
它在这里显示new Array();
应该可以正常工作......我有什么遗漏吗?
formatting - 如何关闭 JSLint 缩进警告?
我发现JSLint会产生很多形式的警告:
JSLint 选项文档描述了一个选项,该indent
选项识别表示每个缩进级别的空间量的数值。这个选项允许我说每个缩进级别使用 2 个空格。我只是在我的 JavaScript 文件的顶部写了这样的东西:
好的,不错。现在 JSLint 知道每个缩进级别要缩进多少,但是 JSLint 似乎是硬编码来决定每行应该有什么级别的缩进。
假设我想以不同于 JSLint 规定的方式缩进我的代码。我可以用一些 JSLint 选项来做到这一点吗?如果没有,我至少可以关闭缩进警告吗?我试过:
但这并没有导致缩进警告被忽略;它导致了一个 JSLint 错误。
javascript - JSLint 是否改进了您的 Javascript 编码?
道格拉斯·克罗克福德 说:
JavaScript 是一种草率的语言,但在其中有一种优雅、更好的语言。JSLint 可以帮助您使用更好的语言进行编程,并避免大部分问题。
那些经常使用 JSLint 的程序员是否也有同样的看法?
javascript - “use strict”在 JavaScript 中做了什么,背后的原因是什么?
最近,我通过 Crockford 的JSLint运行了一些 JavaScript 代码,它给出了以下错误:
第 1 行字符 1 的问题:缺少“use strict”语句。
做了一些搜索,我意识到有些人添加"use strict";
到他们的 JavaScript 代码中。一旦我添加了语句,错误就停止出现了。不幸的是,谷歌没有透露这个字符串声明背后的大部分历史。当然,这一定与浏览器如何解释 JavaScript 有关,但我不知道会产生什么影响。
那么到底是"use strict";
什么,它意味着什么,它仍然相关吗?
当前的浏览器是否响应该"use strict";
字符串或是否供将来使用?