1. 程式人生 > >for each in for in 與for of

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
}