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用法 "+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用法 "+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 }