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日

相关推荐

  • 项目文档怎么整理

    整理项目文档可以用以下软件整理:一、文档扫描;二、文件管理君;三、ES文件管理器;四、文件管理;五、文件管理器;六、X文件管理器;七、文件管理大师;八、安果文件管理;九、超卓文件管理器;十、ES文件管理器。 一、文档扫描 将纸质文件转移到线上,更好的进行管理,能够将纸质文件上的文字证件进行提取。转化…

    2023年4月27日
    10500
  • 搭建FAQ后这些问题就不用担心了!

    FAQ文档的诞生是为了去“解决问题”。通俗点来说,FAQ文档是目前客户在网络上寻找商家在线帮助的主要手段。企业可以事先组织好一些客户比较常遇到的问题,通过Q&A的形式展示出来,最后发布到网络上供客户自行查询。 搭建FAQ的好处 1.创建常见问题解答(FAQ)页面。通过提供问题和答案的集合,F…

    2023年7月31日
    11100
  • 4ps营销理论是什么

    4Ps营销理论是营销领域中非常知名的模型之一,是由美国市场学者E. Jerome McCarthy于1960年提出,包括:1、产品(Product);2、价格(Price);3、地点(Place);4、促销(Promotion)。它是一个战略工具,用于帮助企业确定和实施其产品或服务的市场策略。在商品…

    2023年8月7日
    32000
  • Java怎么在数据库里配置多个数据源,然后进行动态切换

    在Java中配置多个数据源主要通过一下方式:一、使用Spring框架;二、使用JNDI。Spring框架提供了一个简单而强大的方法来配置多个数据源。我们可以使用Spring的JdbcTemplate类来访问不同的数据源。 一、使用Spring框架 Spring框架提供了一个简单而强大的方法来配置多个…

    2023年5月31日
    43900
  • 真成投资李剑威:在非线性事业中建立成长秩序

    文| babayage 编辑 | 笑 笑 从咨询起步转型投资,李剑威的成长模式与众不同:非线性曲线、模块化能力沉淀、强调底层价值观、擅长把握核心价值、充分自信,比如“我们参与的项目战略层面不会出问题”。 非线性成长路径背后,是秩序井然的成长逻辑,是高效、精准沉淀长期价值的能力。 从咨询到投资 建立跨…

    2022年3月20日
    32500
  • app一般的开发流程是什么

    app一般的开发流程是:1、需求收集与分析;2、原型设计;3、UI设计;4、开发;5、发布和推广;6、运营和维护。需求收集与分析通常是由产品经理或项目经理来负责,他们需要和客户或用户沟通,了解具体的需求和目标。 第一步:需求收集与分析 在开始任何一个项目之前,首先需要进行需求收集与分析。这一步骤是非…

    2023年3月3日
    6100
  • 什么是面向对象编程思想

    面向过程 (Procedure Oriented) 是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是 封装、继承、类。无论是在软件开发还是在实际工作中,深入地理解软件开发的思想都非常有必要。 面向对象 (Object Or…

    2023年1月16日
    23200
  • 项目经理和架构师的区别在哪里

    项目经理与架构师担任IT项目中的关键角色但侧重点迥异。项目经理负责规划、执行及监控项目进度,确保项目在既定的时间、预算和质量参数内完成。1、项目经理注重项目管理,2、包括资源分配、风险管理、时间线规划等。架构师则负责设计系统的整体结构,保障技术实施能够满足项目要求。3、架构师关注技术方案设计,4、重…

    2023年11月30日
    2600
  • 管理要素包括什么

    管理是一种系统性的活动,它涉及到许多方面,其中最重要的是管理要素。管理要素是指管理活动中必不可少的要素,它们是管理活动的基础,是管理活动的核心。这些要素是管理活动的基础,是管理活动的核心,是管理活动的指导。只有充分利用这些要素,才能使管理活动更加有效、高效。 1、管理要素包括目标、计划、组织、指挥、…

    2023年5月7日
    1.1K00
  • 如何提高研发质量和效率

    提高研发质量和效率的方法有:一、理清研发部门的定位;二、提升研发部门的相关能力建设;三、构建高效的流程及组织协同机制;四、激活研发组织的活力。企业首先应该引入IPD的体系,把研发部门变成对产品在市场成功与否结果负责的产品线组织的一部分。 一、理清研发部门的定位 企业首先应该引入IPD的体系,把研发部…

    2023年3月30日
    60400

发表回复

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

400-800-1024

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

分享本页
返回顶部