为什么 JSLint 不允许在 for 循环中使用“var”?

2023-12-15

我的代码或 plovr 有问题。我去 JSLint 寻求帮助。然而,JSLint 似乎认为这是一个致命错误,并拒绝检查更多代码:

for (var i = 0; i < data.length; i += 4) {

为什么?我喜欢这种宣告“我”的方式。

如果您使用的是 Windows,JSHint 似乎不是一个替代方案。我现在正在尝试 The Online Lint。我有一种感觉,这个错误会有点难以发现,所以我很高兴获得有关好的代码检查器的建议。


我同意黑暗阿卜索尔尼特的观点,即该工具是基于意见的。反思它所施加的所有规则,以及它们在您的特定项目中是否真正有意义。它也不是唯一的 JavaScript“lint”工具。或许ESLint或其他此类工具更适合您的需求。

但我也不同意他的观点:在函数开头声明所有变量并不是一个好习惯,尤其是当函数相当长时,因为这会使程序的理解变得更加困难。恕我直言,无论 JavaScript 的作用域如何工作,这一点都成立:这与程序语义无关,而是与代码可读性有关!

我认为变量的声明应尽可能接近其第一次使用(即在您的情况下:在 for 循环中)。这可以确保阅读您代码的人(三个月后的同事或您自己)也能在头脑中保留尽可能少的信息。在开始时声明所有变量会迫使读者在整个函数中牢记所有这些变量。诸如“该变量的当前值是多少?”之类的问题或“它的目的是什么?”变得更难回答。

此外,您更倾向于将一个变量用于多个目的。这不仅令人困惑,而且危险!从第一次使用到第二次使用,值可能会“泄漏”。这可能会导致微妙的、难以调试的问题。

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

为什么 JSLint 不允许在 for 循环中使用“var”? 的相关文章

  • 单击输入[复选框]的标签将触发父级单击事件两次(淘汰)

    考虑这把小提琴 http jsfiddle net 9rkrahm6 我有一个
  • 从 thymeleaf 获取数据到模态引导程序、jquery

    我正在尝试获取模态视图的 id 这是为了更新 onclick 元素 但我找不到方法 知道如何为 boostrap 5 完成此操作 或我可以用其他方法吗 谢谢 tr a inactivate a div class modal fade mo
  • 如何在同一页面上使用AJAX处理多个表单

    我有一个表单 当我单击 提交 时 它就被提交了 然后该表单隐藏 操作页面的结果显示在 div 中 classname dig 它工作正常 但是当我添加另一个表单时 它停止正常工作并且所有表单同时提交 我如何更改我的代码 done click
  • 使用 vscode 调试器调试 next.js

    我已经使用安装了一个项目创建下一个应用程序 https github com segmentio create next app 我需要使用我的编辑器 vscode 调试服务器端渲染 所以我访问过vscode recipes 如何调试 ne
  • 在 Vue.js 中从父组件执行子方法

    目前 我有一个 Vue js 组件 其中包含其他组件的列表 我知道使用 vue 的常见方式是将数据传递给孩子 并从孩子向父母发出事件 但是 在这种情况下 我想在子组件中的按钮出现时执行子组件中的方法 parent被点击 哪种方法最好 一种建
  • 使用 useReducers 调度函数发送多个操作?

    使用时是否可以通过调度函数发送多个动作useReducer挂钩反应 我尝试向它传递一组操作 但这会引发未处理的运行时异常 明确地说 通常会有一个初始状态对象和一个减速器 如下所示 const initialState message1 nu
  • 使用 jQuery/JS 打开时使
    标签的内容具有动画效果

    我只想要 HTML5 的内容details标记为 滑行 动画打开 而不是仅仅弹出打开 立即出现 这可以用 jQuery Javascript 实现吗 Fiddle http jsfiddle net 9h4Hq HTML
  • 如何防止 Iframe 在与浏览器交互后弄乱浏览器的历史记录?

    因此 就我而言 我使用 Iframe 将 Grafana 附加到我的页面 这为我提供了漂亮且易于使用的图表 可以注意到 每次在图表上进行放大或缩小 使用鼠标单击 交互后 Grafana 的 Iframe 都会在我的 Angular 页面上触
  • Jquery/Javascript 上传和下载文件,无需后端

    是否可以在没有后端服务器的情况下在 JavaScript 函数中下载和上传文件 我需要导出和导入由 JavaScript 函数生成的 XML 我想创建按钮 保存 xml 来保存文件 但我不知道是否可行 另一方面 我希望将 XML 文件直接上
  • Meteor - 从客户端取消服务器方法

    我正在通过服务器方法执行数据库计数 用户可以选择他们希望如何执行计数 然后调用该方法 我的问题是 计数可能需要一些时间 并且用户可能会在方法运行时改变主意并请求不同的计数 有什么方法可以取消调用的方法并运行新的计数吗 我认为 this un
  • 通过 CDN 使用 Dojo 时如何加载自定义 AMD 模块?

    我正在使用 google 的 CDN 并尝试使用他们的加载程序加载我自己的 AMD 模块 我知道我做错了什么 但我被困住了 有任何想法吗
  • 如何使输入字段和提交按钮变灰

    我想变灰这两件事 http doorsplit heroku com 歌曲输入字段和提交按钮 直到用户输入艺术家 有没有一种简单的方法可以通过 JQuery 来做到这一点 艺术家输入字段的id是 request artist 你可以这样做
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • 如何使用tampermonkey模拟react应用程序中的点击?

    我正在尝试使用 Tampermonkey 脚本模拟对 React 元素的点击 不幸的是 由于 React 有自己的影子 DOM 所以天真的方法使用document querySelector 不工作 我遇到了一些需要修改 React 组件本
  • FireFox 中的自动滚动

    我的应用程序是实时聊天 我有一个 Div 来包装消息 每条消息都是一个 div 所以 在几条消息之后 我的 DOM 看起来像这样 div div Message number two div div div div
  • 为什么我不能在 AngularJS 中使用 data-* 作为指令的属性名称?

    On the t他的笨蛋 http plnkr co edit l3KoY3 p preview您可以注意到属性名称模式的奇怪行为data 在指令中 电话 Test of data named attribute br
  • 在 vue.js 中访问数组对象属性

    给定以下数组vue js packageMaps Object packageMap 0 Object Id 16 PackageType flag list ProductCode F BannerBase packageMap 1 Ob
  • 条件在反应本机生产中失败,但在开发中有效

    我创建了一个反应本机应用程序 我需要通过它进行比较 如果属实 就会执行死刑 问题是 该条件适用于 React Native 开发模式 而不适用于 React Native 生产版本 我使用 firebase 作为数据库 也使用 redux
  • 在 React.js 中编辑丰富的数据结构

    我正在尝试为数据结构创建一个简单的基于网格的编辑器 但我在使用 React js 时遇到了一些概念问题 他们的文档对此没有太大帮助 所以我希望这里有人可以提供帮助 首先 将状态从外部组件传输到内部组件的正确方法是什么 是否有可能将内部组件中
  • 使用 Ajax 请求作为源数据的 Jquery 自动完成搜索

    我想做的事 我想使用 jquery 自动完成函数创建一个输入文本字段 该函数从跨域curl 请求获取源数据 结果应该与此示例完全相同 CSS 在这里并不重要 http abload de img jquerydblf5 png http a

随机推荐

  • 如何指定 scikit-learn 的朴素贝叶斯的先验概率

    我正在将 scikit learn 机器学习库 Python 用于机器学习项目 我使用的算法之一是高斯朴素贝叶斯实现 的属性之一高斯NB 函数如下 class prior array shape n classes 我想事先手动更改类 因为
  • 如何使用netflix zuul转发到不同路径?

    我正在使用嵌入在 Spring Boot 1 5 x 应用程序中的 netflix zuul zuul的背后是一些微服务 这些微服务在 public 下公开公共端点 现在我想通过 zuul api 网关公开这些公共端点 但从最终的 api
  • C# 以编程方式更改表并添加列 ASP.Net 和 SQL Server

    我一直在尝试在 ASP NET 中以编程方式添加列来修改 SQL Server 中的表 请看下面的代码 string suppliernotxt supplieridlist 1 ToString SqlCommand cmd2 new S
  • 如何使窗体或窗口控件 RecreateWnd 正确感知?

    如您所知 窗口控件 包括窗体 的窗口句柄被认为是易失性的 也就是说 设置某些属性可能会导致控件销毁其窗口句柄 然后重新创建 有很多该技术的示例 搜索StdCtrls for RecreateWnd 因此 当我需要在创建后向操作系统注册 HW
  • iPhone SDK:将流式音频文件保存到 Documents 文件夹

    我想将音频文件保存到应用程序的文档文件夹中 而应用程序中的一个类正在流式传输该音频文件 我怎样才能做到这一点 是否可以将流式音频直接保存到 mp3 中 如果正在传输的音频文件是 mp3 或者我必须使用 caf Thanks 编辑 如果我在另
  • 在Android中的ImageView中渲染两个图像?

    我正在尝试编写一个应用程序 它允许我将多个图像渲染到 Android 中的 ImageView 上 我可以找到用单个位图填充它的方法 但是 似乎没有办法让两个图像在 ImageView 中渲染 每个图像占用一半的渲染空间 任何帮助将非常感激
  • 发送压缩的表单数据

    我听说浏览器如何从服务器接收 gzip 压缩的页面 他们还可以对发送到服务器的数据进行 gzip 压缩吗 如果可能的话 我将如何在服务器上解压缩这些数据 我正在使用 AppEngine 的 webapp 模块 但一般解释 指向教程的指针就足
  • 如何防止用户输入零作为输入?

    我正在尝试将输入验证添加到一组三个EditTexts 用户在其中输入数值 我面临的问题是为了计算工作 用户不能输入零 作为输入字段之一 否则应用程序将崩溃 我尝试执行以下操作以防止输入零并显示警告消息 我收到一条错误消息 指出 无法启动活动
  • 从 Shadertoy 导出到 Three.js

    我正在迈出编码的第一步 我在互联网上制作了一些课程 然后进行了一些 Three js 实验 现在我想继续学习着色器实验 我找到了 Shadertoy com 它真的太棒了 有很多不同的实验 效果令人难以置信 我正在尝试在 Three js
  • 无法使用partitionByInstrument将文件分成多个部分

    使用music21无法将文件分成使用partitionByInstrument from music21 import song converter parse Nottingham train ashover simple chords
  • 验证长度 Powershell

    这是我的第一个剧本 所以不要打我 我正在编写一个脚本 该脚本根据用户输入创建网络目录和 AD 组 以下是我到目前为止所得到的 它有效 但我想进行一些改进 我想验证用户输入的长度 我找到了一篇文章 使用读取主机的 PowerShell Val
  • 无需凭据即可获取不同用户的特殊文件夹

    我正在编写一个卸载程序 作为该过程的一部分 我想为所有本地用户清理缓存 临时文件等 该应用程序将运行提升以使其正常工作 我正在查找的文件位于特殊文件夹中 例如AppData Local 所以我需要路径 对于当前登录的用户来说 这是微不足道的
  • React 中延迟数组映射迭代

    我有这个数组 我想迭代它 我需要在下一个之前延迟几秒钟 this props things map thing index gt return div thing content div Delay 1 second here 该数组的初始
  • 项目匹配查询不存在错误?

    这是视图 def showProject request project slug project Project objects get slug project slug tickets Ticket objects filter pr
  • 为什么 autoconf 会错误地找到一个以后不可用的函数?

    在 Linux 系统上 我配置了一个软件包 llvm autoconf 找到了arc4random功能 这里是配置期间输出的提取 checking for strerror yes checking for strerror r yes c
  • 如何以 JSON 形式发送 POST 请求?

    data ids 12 3 4 5 6 urllib2 urlopen http abc example api posts create urllib urlencode data 我想发送 POST 请求 但其中一个字段应该是数字列表
  • Swift 只读外部,可读写内部属性

    在 Swift 中 定义通用模式的传统方法是什么 其中属性是外部只读的 但可以由拥有它的类 和子类 在内部修改 在 Objective C 中 有以下选项 在接口中将属性声明为只读 并使用类扩展在内部访问该属性 这是基于消息的访问 因此它可
  • 一个衬垫:从列表创建一个字典,以索引为键

    我想根据给定的列表创建一本字典 仅一行 字典的键将是索引 值将是列表的元素 像这样的事情 a 51 27 13 56 given list d one line statement one line statement to create
  • 以简单的方式导出到 Excel(但不是 CSV)

    昨天我发现了这个How To通过简单地生成 HTML 将数据导出到 Excel 电子表格 这似乎是一种直接导出带格式的单元格的方法 而仅使用 CSV 格式是无法实现的 我的想法是在Java应用程序中处理一些数据 将结果导出到Excel电子表
  • 为什么 JSLint 不允许在 for 循环中使用“var”?

    我的代码或 plovr 有问题 我去 JSLint 寻求帮助 然而 JSLint 似乎认为这是一个致命错误 并拒绝检查更多代码 for var i 0 i lt data length i 4 为什么 我喜欢这种宣告 我 的方式 如果您使用