js中的forEach、for-in-、for-of的区别

区别是:forEach一般用于对数组的遍历,不用于对对象的遍历,此方法会对数组中的每一个值进行遍历,直至全部遍历完成。for in一般用于遍历对象,循环遍历对象的key,不推荐遍历数组。for of一般用于遍历对象,循环遍历对象的value,它可以正常的响应break、return、continue。

js中的forEach、for-in-、for-of的区别是:forEach一般用于对数组的遍历,不用于对对象的遍历,此方法会对数组中的每一个值进行遍历,直至全部遍历完成。故在其中的return,break会失效。for in一般用于遍历对象,循环遍历对象的key,不推荐遍历数组。for of一般用于遍历对象,循环遍历对象的value,与forEach不同的是,它可以正常的响应break, return,continue。

forEach:(可以三个参数,第一个是value,第二个是index,第三个是数组体)

缺点:不能同时遍历多个集合,在遍历的时候无法修改和删除集合数据,

方法不能使用break,continue语句跳出循环,或者使用return从函数体返回,对于空数组不会执行回调函数

优点:便利的时候更加简洁,效率和for循环相同,不用关心集合下标的问题,减少了出错的效率*

定义:用于调用数组的每个元素,并将元素传递给回调函数*

for in:(它大部分用于遍历对象)

定义:用于循环遍历数组或对象属性,fot in循环里面的index是string类型的,

代码每执行一次,就会对数组的元素或者对象的属性进行一次操作*

缺点:某些情况下,会出现随机顺序的遍历,因为里面的值是string类型,所以 增加了转换过程,因此开销较大

优点:可以遍历数组的键名,遍历对象简洁方便

for of:(可遍历map,object,array,set string等)用来遍历数据,比如组中的值,

map,set会在下篇文章详解,这节只查看遍历对象和数组

优点:避免了for in的所有缺点,可以使用break,continue和return,不仅支持

数组的遍历,还可以遍历类似数组的对象,支持字符串的遍历 最简洁,最直接的遍历数组的语法 支持map和Set对象遍历*

缺点:不适用于处理原有的原生对象(原生对象是一个子集,包含一些在运动过程中动态创建的对象)

延伸阅读:

什么是JS?

JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。

JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。

JavaScript的标准是ECMAScript。截至2012年,所有浏览器都完整的支持ECMAScript 5。1,旧版本的浏览器至少支持ECMAScript 3标准。2015年6月17日,ECMA国际组织发布了ECMAScript的第六版,该版本正式名称为ECMAScript 2015,但通常被称为ECMAScript 6或者ES2015。

文章标题:js中的forEach、for-in-、for-of的区别,发布者:Flawy,转载请注明出处:https://worktile.com/kb/p/52923

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
FlawyFlawy认证作者
上一篇 2023年5月28日
下一篇 2023年5月28日

相关推荐

  • 持续集成与测试管理:如何更好地协同

    在软件开发过程中,持续集成与测试管理是保障产品质量和提升工作效率的关键策略。实现这两者的更好协同需关注1、流程自动化、2、快速反馈机制、3、测试用例管理、4、环境和配置管理、5、敏捷协作。通过流程自动化可以简化开发到测试的过渡,保障代码提交后快速获得反馈是促进问题早发现、早解决的重要手段,对测试用例…

    2023年11月22日
    23500
  • 怎样在SSH下远程使用IDE编译和调试

    在 SSH 下远程使用 IDE 编译和调试步骤如下:1、新建项目;2、配置ssh环境;3、设置远程机器的地址和用户名;4、输入远程机器的密码;5、设置新建项目界面 Remote project location,绑定容器里的项目位置等。新建项目是指File – New Project  …

    2023年2月7日
    59800
  • 图片在数据库中是怎样的储存方式

    方式有:一、将图片储存在文件系统中;二、将图片以二进制方式储存在数据库中;三、将图片储存在文件系统和数据库中的混合方式;四、使用云存储服务。将图片存储在文件系统中是一种常见的做法。这种方式比较简单直接,可以通过URL链接来引用图片。 一、将图片储存在文件系统中 将图片存储在文件系统中是一种常见的做法…

    2023年5月30日
    3.6K00
  • 美国服务器租用时如何维护网络安全

    维护方法有:1、及时安装服务器系统补丁;2、做好服务器的账号和密码保护;3、安装并合理设置防火墙;4、监测服务器系统日志;5、定期进行数据备份操作;6、安装网络杀毒软件;7、给服务器使用RAS的回拨功能;8、关闭服务器上不必要的服务和端口。 1、美国服务器租用时及时安装系统补丁 无论是Windows…

    2022年11月7日
    47200
  • DevOps中的自动化日志分析

    DevOps领域的自动化日志分析对降低错误回应时间、增强系统运行稳定性及优化团队协作流程至关重要。1、减少人工干预,2、及时问题定位,3、持续改进。 在这其中,2、及时问题定位展现了自动化日志分析在及早发现和解决问题中的核心作用。通过算法与模式识别技术,这些工具可以迅速识别潜在的问题和异常行为,从而…

    2024年1月4日
    22600
  • devops测试体系是什么意思

    开展致力于软件开发与运维整合之实践,即DevOps所涉及之测试体系,指倾向于打造反应迅速、灵活且高效的质量保障机制。DevOps测试体系致力于缩短开发周期、增强产品质量、及时反馈与持续交付,内容包含1、以自动化为基础构建持续集成与部署的流程、2、测试策略并入整个软件生命周期、3、鼓励跨功能团队协作、…

    2024年3月26日
    1000
  • 如何编制项目进度计划

    编制项目进度计划的方法有:一、关键路径法;二、资源平衡法;三、进度压缩法。关键路径法是指在不考虑资源限制和时间强度的情况下,编制出理论上可行的进度计划。首先从项目起点出发,沿网络图各条路径进行顺时针推算。 一、关键路径法 关键路径法是指在不考虑资源限制和时间强度的情况下,编制出理论上可行的进度计划。…

    2023年3月30日
    58800
  • oa办公系统怎么进

    标题:OA办公系统入门指南 摘要:进入OA办公系统主要包括1、准备工作、2、访问网址或应用和3、登录操作。重点关注访问网址或应用这一环节,在该步骤中必须确保知道正确的网址或拥有适合的应用程序版本来进行后续操作。工作人员需要通过公司提供或公告的正确网址,进入OA系统的登录页面。如果是采用手机应用程序,…

    2024年1月11日
    22300
  • oa手机怎么登录

    OA手机如何登录通常涉及具体的系统操作流程、安全认证、用户权限配置、以及潜在的技术问题解决。1、下载安装对应OA应用;2、输入正确的服务器地址以及登录凭证;3、确认网络连接无误;4、遇到问题及时与技术支持联系。以2、输入正确的服务器地址以及登录凭证为核心,OA系统采用服务器地址来区分不同的企业或组织…

    2024年1月11日
    29300
  • CMMI1.3版与CMMI2.0版 有什么区别

    区别有:1、关注性能;2、提高可用性并改进集成指南;3、更易理解和访问;4、提高评估的价值和可靠性;5、成熟度等级;6、采用指南;7、重新设计的系统。在模型的所有成熟度等级中都内置了新的性能实践,强调并关注改进组织性能。 1、关注性能 在模型的所有成熟度等级中都内置了新的性能实践,强调并关注改进组织…

    2023年2月13日
    50300

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部