- for是js中最常用的循环语法,一般用来遍历数组或者直接循环一定的次数。
var arr = [1, 2, 3, 4]; for (var i = 0; i < arr.length; i++) { console.log(arr[i]); }
- forEach是ES5的语法,用来遍历数组,不过某些文章中有说明forEach的性能不如for循环,而且你不能中断forEach循环(使用break语句或使用continue语句)。
var arr = [1, 2, 3, 4]; arr.forEach(function (value, index, array) { console.log(index + value); })
- for in循环实际是为循环enumerable对象而设计的,也可以用来遍历数组,for in获取的是数组或者对象的索引而不是值,不过一般不推荐。
for in可以遍历到对象内的原型方法,如果不想获取原型方法的话可以用hasOwnProperty在循环内判断。var obj = { a: '1', b: '2', c: '3', d: '4' }; for (var i in obj) { console.log(i); console.log(obj[i]); }
- for of是ES6中新增的语法,可以循环数组,但是不能循环普通对象,它能可以循环字符串、Map、Set等等。
var arr = ['China', 'America', 'Korea']; for (let o of arr) { console.log(o); }
js中的forEach、for、for in和for of等的区别
未经允许不得转载:Mxue note » js中的forEach、for、for in和for of等的区别