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)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Flawy的头像Flawy

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部