js 不推荐使用foreach及其区别 – 快乐每一天 – ITeye技术网站

  • js 中for in 和for each in的区别  
  • 两个的作用都用来遍历对象,但为什么有了for in语句了还要for each in语句呢

    ,后来看了下for each in开发的文档,for each in是作为E4X标准的一部分在javascript 1.6中发布的,而且它不是ECMAScript标准的一部分  

  •   
  • var 超毛 = {  
  •     身高:“185CM”,  
  •     体重:“70公斤”,  
  •     年龄:40  
  • };  
  • for (var i in 超毛){  
  •     document.write(“i = “ + i + “………………超毛[i] = “ + 超毛[i] + 
    );  
  • }  
  • /* 
  • 结果 
  • i = 身高………………超毛[i] = 185CM 
  • i = 体重………………超毛[i] = 70公斤 
  • i = 年龄………………超毛[i] = 40 
  • */  
  • for each (var i in 超毛){  
  •     document.write(“i = “ + i + “………………超毛[i] = “ + 超毛[i] + 
    );  
  • }  
  • /* 
  • 结果 
  • i = 185CM………………超毛[i] = undefined 
  • i = 70公斤………………超毛[i] = undefined 
  • i = 40………………超毛[i] = undefined 
  • */  
  • 注意变量i的值是不一样的,for each in无法获得对象的属性名,只能获取到属性值  
  •   
  • 如果你想遍历对象,超毛建议还是使用for in  
  • 1,for in在遍历对象伤还是比for each in功能更加强大for in不仅能遍历处所有属性名和属性值,for each in只能遍历出属性值  
  • 2,for in是javascript 1.0就出来的语法,for each in是javascript 1.6才出来的语法,很多浏览器是 不u支持的,比如IE6,7,8是不支持的,所以还是推荐使用for in  
  •   
  • 同时两者都能实现对数组的遍历  
  • 建议大家在遍历数组时,推荐不要使用for in语句和for each in语句,因为它们两无法保证遍历数组的顺序,还是老老实实使用for语句比较好  
  •   
  • 原创文章,转载请注明: 转载自前端开发  
  •   
  • 本文链接地址: js中for in 和 for each in的区别  
  • 来源URL:http://qiaolevip.iteye.com/blog/2021112