为什么引入新的 JSLint 错误“使用空格,而不是制表符”和“不安全字符”?

2023-12-20

我使用 JSLint 验证 JavaScript 已经有大约 2 年了,偶尔会有一些规则发生变化。一般来说,当 JSLint 引入新规则时,会有一个复选框可以在解析时忽略此规则,或者如果您选择不忽略它,则使您的代码符合它。

然而,当我今天运行 JSLint 验证时,遇到了这两个新错误:

使用空格,而不是制表符。

这不是“制表符和空格混合”错误。我只使用选项卡。这是“制表符和空格混合”的最近修改版本,现在一般不允许使用制表符。

And:

不安全的性格。

*/

不安全的性格。

_const:{

没有新的选项可以忽略。我无法理解关闭块注释有什么不安全之处,为什么它认为 _const: { 当我有时不安全nomen: true,(在标识符中悬挂 _)或者为什么我应该突然从空格切换到制表符,当我仍然有关于 4 个空格缩进作为制表符的配置时。

有谁知道为什么要引入这些至少如何使 JSLint 忽略这些新规则?

Update: The Messy White Space选项可以解决该问题,但会导致其他意外行为:

if (condition) { 
  //            ^-- there is a space but it won't indicate an error

看来 Douglas Crockford 让更多的人转向了 JSHint。看一下这次提交 https://github.com/douglascrockford/JSLint/commit/f819cf3c65d07086cf217c549c577fa77dc65fc9.

“混合空格和制表符”错误已被删除,并在其位置添加了新的“使用空格,而不是制表符”错误。除此之外,该差异中的一个微小变化表明了造成这种情况的原因。以下行(已添加注释):

at = source_row.search(/ \t/);
//                      ^ Space

已替换为:

at = source_row.search(/\t/);
//                      ^ No space!

在该搜索之后有一个if陈述。如果条件评估为true时,会发出“使用空格,而不是制表符”警告。这是该声明:

if (at >= 0) {
    warn_at('use_spaces', line, at + 1);
}

I hope这只是克罗克福德的一个小疏忽。正如您所看到的,如果您使用制表符,JSLint 现在将发出此警告anywhere。不幸的是,他的提交消息完全没有用,并且文档似乎没有更新,所以我除了推测此更改背后的原因之外无能为力。

我建议你放弃 JSLint 并改用JSHint http://jshint.com/现在。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么引入新的 JSLint 错误“使用空格,而不是制表符”和“不安全字符”? 的相关文章

  • Javascript树遍历算法

    我需要帮助以深度优先的方式遍历树结构 我无法想出一个算法来正确地做到这一点 我的输入是这样的 A B C 1 2 a b c d 输出应采用以下形式 A 1 a A 1 b A 1 c A 1 d A 2 a A 2 b A 2 c A 2
  • 从立即调用的匿名函数表达式返回 |它去哪里?

    如果我从立即调用的匿名函数表达式返回一个对象 它会去哪里 例如 这段代码中 foo 去了哪里 function var foo return foo 这有什么有用的应用吗 从自执行函数返回一个值而不将该返回值分配给结果变量只是一个无处可去的
  • Javascript 与 Python 关于 Python 'map()' 函数的比较

    Python中有一个函数叫做map这可以让你去 map someFunction x y z 并继续应用该功能的列表 是否有与此功能等效的 JavaScript 我现在刚刚学习Python 虽然我被告知javascript是函数式语言 但我
  • 检查用户是否连接到 Facebook,然后检查他是否喜欢某个页面

    有没有什么方法可以检查用户是否在我的外部页面上连接到 Facebook 而不让他们允许我的应用程序之一 同样的问题也适用于 检查用户是否喜欢某个页面 我检查了大约 20 个问题和 3 4 个教程 似乎所有问题都在讨论内部脚本 粉丝页面 应用
  • 如何使用 axios / jest 测试失败的请求

    我创建了一个非常小的应用程序 如果您传递硬币和数量 它可以计算为某些加密货币支付的总价格 我想测试错误 但我总是收到 收到的承诺已解决而不是被拒绝 我相信这是因为如果 url 错误 axios 仍然会解决承诺 我遇到的第二个问题是 我尝试测
  • 在 asp.net vb 中通过第一个下拉列表值填充第二个下拉列表

    我在使用 asp net vb 时遇到了一些问题 我想做的是有2个下拉框 第一个下拉菜单将有 1 2 3 例如 第二个下拉菜单将有 A 乙 C 默认情况下 但是 如果选择 1 我希望第二个下拉菜单自动选择 c 我不知道 JavaScript
  • JQuery 动画文本

    找到简单 简单的动画文本是非常困难的 喜欢这个网站上的 内爆 http codecanyon net item jquery text animation full screen preview 233445 http codecanyon
  • 向对象添加元素

    我需要填充一个 json 文件 现在我有这样的东西 element id 10 quantity 1 我需要添加另一个 元素 我的第一步是使用该 json 将该 json 放入对象类型中cart JSON parse 现在我需要添加新元素
  • 使用 jQuery 仅从字符串末尾修剪空格

    我知道 jQuery trim 函数 但我需要的是一种仅从字符串末尾修剪空格的方法 而不是开头 So str this is a string 会成为 str this is a string 有什么建议么 Thanks 您可以使用正则表达
  • 点击问题:动态生成的链接不触发点击功能

    下面是两个代码片段 由于某种原因什么也没有发生 但来自同一个 JS 文件的其他 jQuery 函数在带有 UL 的页面上执行得很好 这是在盯着我看吗 ul class paganation li 1 li li a href 2 a li
  • Web SQL 数据库 + Javascript 循环

    我正在尝试解决这个问题 但我自己似乎无法解决 我正在使用 Web SQL DB 但无法让循环正常使用它 I use for var i 0 i lt numberofArticles 1 i db transaction function
  • 将 JavaScript 引擎嵌入到 .NET 中 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 只是想知道是否有人尝试过将任何 js 引擎嵌入并实际集成到 net 环境中 我可以找到并实际使用 经过L
  • 如何在 angularjs 中修剪()字符串?

    有角度特定的方法吗 如果没有 我应该使用内置的jquery 来做到这一点吗 如果我应该使用内置的jquery 如何在不使用 的情况下访问trim 函数 或者这是必要的 编辑 是的 我知道 str trim 对不起 我需要这个才能在 IE 8
  • 常规 JavaScript 可以与 jQuery 混合使用吗?

    例如 我可以采用这个脚本 来自 Mozilla 教程 https developer mozilla org en Canvas tutorial Basic usage
  • 使用 jQuery Tablesorter 操作后如何恢复当前页面?

    我正在使用 tablesorter 但无法找到有关插件 tablesorter 寻呼机的任何文档 问题是我有一个显示一些数据的表 并且在每一行中都有一个删除链接 该链接附加了要删除的元素的唯一标识符 显然 是否可以保存我正在删除的页面 然后
  • Dojo/on 和捕获阶段

    有没有办法用 dojo on 在捕获阶段 而不是冒泡阶段 触发事件 我最终在这里寻找有关 on 的前身 dojo connect 的信息 就其价值而言 dojo connect 似乎不支持捕获阶段的事件侦听器 它的工作原理是将事件处理程序作
  • 错误:创建 React Native 项目版本 0.59.9 时找不到 template.config.js

    当我尝试创建 React Native 项目版本 0 59 9 时 出现以下错误 错误错误 无法在 react native 模板中找到 var folders zc h93bvpb573q24 5ynvgkn1wc0000gn T rnc
  • 如何根据所需表单输入的值更改 CSS 样式

    我想知道如何编写 javascript 来改变所需的表单元素的样式 如果它们有价值的话就改变它们 我想要做的是当所需的文本字段为空时 在它们周围有一个彩色边框 并在它们有值时删除边框样式 我想做的是编写一个 javascript 函数来检查
  • 如何在 JavaScript 中获取浮点数的小数位?

    我想要的是与 Number prototype toPrecision 几乎相反的 这意味着当我有数字时 它有多少位小数 例如 12 3456 getDecimals 4 对于任何想知道如何更快地完成此操作 无需转换为字符串 的人 这里有一
  • 使用 jquery 提供附加功能时菜单未正确对齐

    I need to make a mega menu similar to one as show in image below 到目前为止 我已经能够在某种程度上使其发挥作用 例如jsFiddle 在这里 http jsfiddle ne

随机推荐