js中forin和foreachin的⽤法和区别
区别⼀:
forin是javascript 1.0 中发布的。
for eachin是作为E4X标准的⼀部分在javascript1.6中发布的,⽽它不是ECMAScript标准的⼀部分。
这将意味着存在各种浏览器的兼容性问题。for eachin,对很多浏览器都不⽀持的。例如是不⽀持IE6,IE7,IE8等浏览器的。
区别⼆:
例:var 长⽅形= { ⾼:"15", 宽:"25" };
for (var i in 长⽅形){
alert( i +"," + 长⽅形[i] );
原生js和js的区别}
结果依次是: ⾼,15 ; 宽,25 ;
for each (var i in 长⽅形){
alert( i +"," + 长⽅形[i] );
}
结果依次是: 15,undefined ;25,undefined;
两种遍历⽅法的变量i的值是不⼀样的,for eachin⽆法获得对象的属性名,只能获取到属性值。
最后总结⼀下使⽤建议:
(1)遍历普通数组,建议使⽤原⽣的遍历⽅法for,不要贪图⽅便,因为for in 和foreach in均存在浏览器的兼容问题,不能保证它们对数组的遍历顺序(如果对顺序的不作要求的话,可以使⽤for in,但本⼈不建议),有兴趣话,可以阅读的下⼀篇⽂章《》。
(2)遍历对象,由于for没办法提供理想的遍历,因⽽只能选择其他⽅法。这⾥建议使⽤for in,从上⾯讲解的区别,for in⽐for each 更具优势,for in能获取索引和属性值,⽽foreach只能获取属性值,⽽且for each在很多低版本的浏览器是不⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论