for each in for in 与for of

for each in

  for each in是作为E4X标准的一部分在javascript 1.6中发布的,而它不是ECMAScript标准的一部分。

 这将意味着存在各种浏览器的兼容性问题。for each in,对很多浏览器都不支持的。例如是不支持IE6,IE7,IE8等浏览器的。

for in是javascript 1.0 中发布的

forEach用法

        var arr = [44,9,11,22,33,55,66];

        arr.forEach(function(ele,index){

            console.log("forEach用法\t"+arr[index]+"-----"+ele);

        });

 for in

for in是javascript 1.0 中发布的

for in是遍历索引 key,是ES5标准。

for in 可以遍历到对象的原型方法,如果不想遍历原型方法和属性的话,可以在循环内部判断一下,hasOwnProperty方法可以判断某属性是否是该对象的实例属性。

for...in的用法

       // for in 遍历需要两个形参 ,index表示数组的下标(可以自定义),arr表示要遍历的        //数组

       var arr = [44,9,11,22,33,55,66];

      for(var index in arr){

                console.log("for...in用法\t"+arr[index]);

        }

for of

for of是遍历元素值value,是S6标准。

for of 遍历的只是数组内的元素,而不包括数组的原型属性arrCustom和索引foo.

rray.prototype.arrCustom = function(){};
let iterable = [1,2,3,4,5,6];
iterable.foo = ["hello"];
for(let i of iterable){
    console.log(iterable[i]);//1,2,3,4,5,6
}

猜你喜欢

转载自www.cnblogs.com/chengxiangboke/p/9932771.html