问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

javascript for in 遍历、可以拿到 index 吗

发布网友 发布时间:2022-06-04 17:47

我来回答

1个回答

热心网友 时间:2023-10-30 03:50

区别一:
for in是javascript 1.0 中发布的。
for each in是作为E4X标准的一部分在javascript 1.6中发布的,而它不是ECMAScript标准的一部分。
这将意味着存在各种浏览器的兼容性问题。for each in,对很多浏览器都不支持的。例如是不支持IE6,IE7,IE8等浏览器的。
区别二:
例: var 长方形= { 高:"15", 宽:"25" };

for (var i in 长方形){
alert( i + "," + 长方形[i] );
}

结果依次是: 高,15 ; 宽,25 ;

for each (var i in 长方形){
alert( i + "," + 长方形[i] );
}

结果依次是: 15, undefined ; 25, undefined;
两种遍历方法的变量i的值是不一样的,for each in无法获得对象的属性名,只能获取到属性值。
最后总结一下使用建议:
(1)遍历普通数组,建议使用原生的遍历方法for,不要贪图方便,因为for in 和for each in均存在浏览器的兼容问题,不能保证它们对数组的遍历顺序(如果对顺序的不作要求的话,可以使用for in ,但本人不建议),有兴趣话,可以阅读的下一篇文章《关于js中for in的缺陷浅析》。
(2)遍历对象,由于for没办法提供理想的遍历,因而只能选择其他方法。这里建议使用for in ,从上面讲解的区别,for in比for each 更具优势,for in能获取索引和属性值,而for each只能获取属性值,而且for each在很多低版本的浏览器是不支持。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? flash 我的for in 遍历所有对象没效果 for in遍历一个对象,并且获取对象的值加载到html中,可以用jquery也可以原生~ 与forin 遍历对象,输出的结果为什么是顺序的 js for in可以遍历对象吗 在wed前端中应用for...in语句遍历对象的属性,在输出属性值时一定要使用什么形? 木瓜白色的浆是什么木瓜白色的浆到底啥啥呢 如何解除13的加密 神盾局特工第三季 芭芭拉怎么走了 周杰伦的演唱会 台湾有什么旅游必去的地方? 台湾有什么旅游必去的地方? 威秀电影公司的简介 曼谷海洋世界怎么样?有什么好玩的地方? 我的小米手机有时候刚开启屏幕时非常暗,几乎看不见上面的内容,再调节一下亮度后就好了,是怎么回事? 一般洗手间前的大镜子照人好看吗 学给水排水工程专业的应该考什么证 给排水专业考证 qtimefx的介绍经纪商是什么意思? 港股经纪商是什么意思 我是射手对象是狮子男前两天分手了因为一些事吵架了第二天说不想分我有事没回他到晚上七点他把我微信删了 西安高一生医疗美容医院在做美白嫩肤方面,都有哪些先进的仪器? 德阳注册商贸公司要走哪些程序 产后痔疮很厉害,能吃鸡吗 痔疮手术后盐焗鸡爪可以吃吗 有关写景的好句 名人写的 摘抄名人写的风景的文章150字左右 晒太阳多久合适? 晒太阳的好处坏处是什么?一天晒多久为宜? 最新女生标准身材对照表 身材如何能算得上标准 被人登陆能查出在哪个位置登陆了? 急求节日施工 安全生产措施 开发票时预缴的企业所得税是否可以在季度预缴中抵扣 ...这种情况,我们预缴企业所得税时是否可以税前扣除? 预缴的所得税能不能作费用在利润表的“所得税费用”中扣除 吃完橙子可以马上喝酸奶吗 营业执照的办理?? 怎样下载视频歌曲 怎样下载视频里的歌曲? 视频中歌曲怎样下载 长春市道路和管线工程规划管理办法