Javascript:为什么对数组使用 for 循环而不是 for-in 循环?

2023-12-23

我一直在阅读 Stoyan Stefanov 的《面向对象的 Javascript》,有一次他写道:

The for-in循环用于迭代数组(或对象,我们稍后会看到)的元素。这是它唯一的用途;它不能用作替代的通用重复机制for or while。让我们看一个使用的例子for-in循环遍历数组的元素。但请记住,这仅供参考,因为for-in主要适用于物体,而常规的for循环应该用于数组。

我一直用for过去在迭代数组元素时会出现循环,我通常会看到for不循环for-in用于此目的的循环,但是“常规”的原因是什么?for循环应该用于数组”?


使用常规的原因for数组循环的一个特点是它将迭代限制为索引值。

如果您使用for-in循环,它将迭代对象上的所有属性(数组是一个对象),如果将任意属性附加到未按数字索引的数组,则可能会产生意外结果。

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

Javascript:为什么对数组使用 for 循环而不是 for-in 循环? 的相关文章

  • 获取express.js中间件请求中“#”后的url

    我需要获取服务器中间件上的 url 使用express js 我用req url但是当 url 开头时 some urlreq url 返回 与req path 有没有办法获取url之后 在express js中 No URL 中以 符号永
  • axios 请求中未发送正文数据

    我试图通过 axios 请求将数据发送到我的后端脚本 但正文看起来是空的 这是前端发送的请求 axios request method GET url http localhost 4444 next api headers Authori
  • Angular 4 过滤器搜索自定义管道

    所以我试图构建一个自定义管道来在 ngFor 循环中执行多个值的搜索过滤器 我花了几个小时寻找一个好的工作示例 其中大多数都是基于以前的版本 并且似乎不起作用 所以我正在构建管道并使用控制台为我提供值 但是 我似乎无法显示输入文本 以下是我
  • 在 jQuery .live() 方法中模拟“焦点”和“模糊”

    Update 从 jQuery 1 4 开始 live 现在支持focusin and focusout events jQuery http www jquery com currently1 doesn t support blur o
  • 如何立即启动setInterval循环? [复制]

    这个问题在这里已经有答案了 在一个简单的setInterval setInterval function Do something every 9 seconds 9000 第一个动作将在 9 秒后发生 t 9s 如何强制循环立即执行第一个
  • 在javascript中访问函数内的实例变量?

    如何以最简单的方式访问函数内的实例变量 function MyObject Instance variables this handler Methods this enableHandler function var button doc
  • 检测 Google 验证码的挑战窗口何时关闭

    我正在使用谷歌隐形验证码 有没有办法检测挑战窗口何时关闭 我所说的挑战窗口是指您必须选择一些图像进行验证的窗口 目前 我在按钮上放置了一个旋转器 一旦单击按钮 就会呈现验证码挑战 无法向用户提示另一个质询窗口 我以编程方式调用渲染函数 gr
  • karma/jasmine 控制台更详细的测试结果

    我使用 Karma 和 Jasmine 进行 javascript 单元测试 假设我有一个失败的测试 如下所示 expect objectA toEqual expectedObjectA 当失败时 我看到控制台上转储了两个对象 并显示一条
  • 为什么这行带有“await”的代码会触发微任务队列处理?

    以下引用是我理解微任务队列处理的主要参考 当 JS 堆栈清空时 就会处理微任务 承诺使用 杰克 阿奇博尔德 https twitter com jaffathecake status 954653170986311680 这对我来说没有意义
  • 如何在 React Native 上显示 SVG 文件?

    我想显示 svg 文件 我有一堆 svg 图像 但我找不到显示的方式 我尝试使用Image and Use的组成部分反应本机 svg https github com magicismight react native svg但他们不这样做
  • 检索 css3 缩放元素的宽度/高度

    我正在与 offsetWidth 属性的奇怪之处 我认为 作斗争 这是场景 比方说 我有一个span标签 在我的js中 在某个时刻我执行css3转换 对于这个元素 例如 el set styles transform scale scale
  • 全局传递 xhr onload 函数的值

    在我正在创建的应用程序中 我有以下 XMLHttpRequest 并且我正在尝试传递结果data在 的里面xhr onload 到在同一父函数中创建的数组中 var url http api soundcloud com resolve j
  • 如何将 arraylist 从 servlet 传递到 javascript?

    我通过在属性中设置数组列表并将其转发到 jsp 来从 servlet 传递数组列表 Servlet ArrayList
  • 为什么我收到“在嵌套函数中通过 this 对类字段进行潜在无效的引用访问”错误

    在普通 JS 中 我的代码可以正常工作 对于这种情况 我想组件化我的Wall类应该在浏览器中显示用户上传的图像 同样 这在 vanilla JS 中正常工作 但在 JSX 中不起作用 我得到了一个potentially invalid re
  • Web组件中嵌套槽的内容不可见

    我有一个 Web 组件 它应该接受任意元素来包装其内容 虽然我可以在 Chrome 开发工具中看到插槽已正确分配 但 DOM 中什么也没有出现 以前有人见过这个问题吗 定义 class ExampleParent extends HTMLE
  • 呃!尝试将包发布到 npm 时出现 403

    我正在尝试将包发布到 npm 您可以在此处查看存储库 https github com biowaffeln mdx state https github com biowaffeln mdx state 我登录到 npmnpm login
  • 如何动态调整jqgrid到当前窗口大小?

    如何动态调整jqgrid到当前窗口大小 基于javascript jQuery 最好的例子在这里 TinyMCE 去 http www tinymce com tryit full php http www tinymce com tryi
  • Service Worker 与 Shared Worker

    Service Worker 和 Shared Worker 有什么区别 我什么时候应该使用 Service Worker 而不是 Shared Worker 反之亦然 Service Worker 具有共享 Worker 之外的附加功能
  • ThreeJS 中阴影的奇怪行为

    所以我有一个 ThreeJS 场景 并且添加了一些球体 多材质 我还添加了定向光 this light new THREE DirectionalLight 0xFFFFFF 1 this light position set 2 10 2
  • 如何在 Jquery/Javascript 中绑定模糊和更改,但只触发一次函数?

    我试图在选择元素更改时触发函数 由于 Ipad 在 on change 方面遇到问题 我还想绑定到 blur 这在 Ipad 上工作得很好 但是我不希望两个事件都触发该函数两次 所以我需要某种挂钩来确保两个事件是否都触发change and

随机推荐

  • 可以通过cfldap将缩略图照片注入AD吗?

    有谁有办法将用户的缩略图注入 AD 中吗 当我通过 cfldap 获取数据时 我可以看到缩略图的条目 但 我的记录 的条目 手动附加了照片 在该字段中有一个空字符串 有什么建议么 谢谢 克里斯 我不相信有什么办法可以做到这一点 我一直无法弄
  • 枚举设计决策的恒定特定方法

    这更多是一个设计问题 首先 我有一个枚举 enum WageType MONTHLY public int getWageRatePerUnit return 60000 public boolean isPaymentTime DateT
  • 没有 HTML 标签的 XSS

    如果我的输入不允许 字符 是否有可能进行 XSS 攻击 Example I enter text 但如果我删除 脚本就不是文本 I enter script alert this script text 是的 这仍然是可能的 例如假设您的网
  • 如何使用调试器处理任务中的异常?

    我学MSDN 上的这篇文章 http msdn microsoft com en us library dd537614 aspx 以及有关此主题的一些问题 答案 但无法弄清楚为什么下面的代码不起作用 在示例控制台应用程序中 根据 MSDN
  • Android 应用程序上下文是否会被破坏?

    我使用 Android 应用程序的应用程序上下文作为应用程序 当前状态 信息的存储区域 我发现在现场 有些情况下此信息在某些人的设备上消失 导致各种 NullPointerExceptions 因为我希望当应用程序恢复并开始重建必要的活动时
  • 如何将子进程的输出重定向到文件

    我有以下 python 脚本 import shlex import subprocess from datetime import datetime timedelta import os import sys import xml et
  • Python 预提交单元测试失败

    I wish pre commit https pre commit com在提交我的代码之前运行测试 命令python m unittest discover正在命令行中工作 D project dir gt python m unitt
  • 从连接字符串获取用户名和密码的正确方法? [复制]

    这个问题在这里已经有答案了 我有一个像这样的连接字符串 SERVER localhost DATABASE tree UID root PASSWORD branch Min Pool Size 0 Max Pool Size 200 如何
  • iOS Swift - 使用 NSTimer 为应用程序背景重新加载位置功能不起作用

    我的定位服务有问题 我无法设置一个通过 NSTimer 在后台更新我的位置坐标的函数 这是我来自 appDelegate 的代码 var locationManager CLLocationManager func applicationD
  • 替代已弃用的 UITableViewCell setText?

    书上的代码开始 iPhone 开发 http iphonedevbook com 作者 Dave Mark 和 Jeff LaMarche 分配给 UITableViewCell 文本属性 UITableViewCell cell cell
  • 使用 xmlhttprequest 将 JavaScript 变量传递给 PHP

    我在将 javascript 变量发布到 php 文件时遇到问题 请有人告诉我发生了什么事吗 Get Cookies var getCookies document cookie cookiearray getCookies split S
  • 将本地 css 和 js 文件加载到 WKWebView 中

    在 Swift 2 1 1 和 Xcode 7 1 中我的代码使用 WKWebView 并从本地文件加载 index html 但无法加载 index css 和其他 javascript 文件 如 head 标记中所示 我最好的猜测是ba
  • Android 中谷歌地图中的自定义标记,带有矢量资源图标

    我们如何实现地图标记图标矢量资产文件 谷歌以编程方式显示它的方式 Update map addMarker new MarkerOptions position latLng icon BitmapDescriptorFactory fro
  • 排除 RDLC 渲染为 PDF 时嵌入的默认字体

    我尝试将 RDLC 报告渲染为 PDF 文件 生成的文件大小比正常文件大 经过一番研究 我发现生成的 PDF 嵌入了字体 9 0 对象 gt 溪流 当我使用相同的方法和相同的代码生成 PDF 并保存到磁盘时 一个 PDF 的大小为 6 82
  • 如何在Play框架单元测试中加载不同的插件?

    我有不同的插件实现了Plugin界面 现在我将它们硬编码在 play plugins 中 如下所示 100 test A 200 test B 然而 在我的单元测试中 我不希望同时加载它们 换句话说 在测试 A 中我只想加载插件 A 在测试
  • 如何并行运行函数?

    我正在尝试在 Python 中并行运行多个函数 我有这样的事情 files py import common common is a util class that handles all the IO stuff dir1 C folde
  • 为什么我的网页中不断出现小空间?

    这可能是一个愚蠢的问题 但如果有更好或正确的方法来做到这一点 我很乐意学习 我已经遇到过几次这种情况 包括最近 我的 HTML 页面的渲染版本中出现了小空格 直觉上我认为这些不应该存在 因为在文本或实体之外 页面 HTML 的格式不应该重要
  • 在 Windows Phone 8 中使用 Google 地图

    可以在 Windows Phone 8 中使用 Google 地图吗 这个问题可能看起来很奇怪 因为互联网上有很多关于这个问题的帖子 但在实践中 我遇到了现实的问题 我知道使用 Google 地图 使用 MapTileLayer TileS
  • 如何在 r 中传播或转换多个值[重复]

    这个问题在这里已经有答案了 这是此示例的玩具数据集 data lt data frame x rep c red blue green each 4 y rep letters 1 4 3 value 1 1 12 value 2 13 2
  • Javascript:为什么对数组使用 for 循环而不是 for-in 循环?

    我一直在阅读 Stoyan Stefanov 的 面向对象的 Javascript 有一次他写道 The for in循环用于迭代数组 或对象 我们稍后会看到 的元素 这是它唯一的用途 它不能用作替代的通用重复机制for or while