生命不息,学习不止

js中的forEach、for、for in和for of等的区别

  1. for是js中最常用的循环语法,一般用来遍历数组或者直接循环一定的次数。
    var arr = [1, 2, 3, 4];
    
    for (var i = 0; i < arr.length; i++) {
        console.log(arr[i]);
    }
  2. forEach是ES5的语法,用来遍历数组,不过某些文章中有说明forEach的性能不如for循环,而且你不能中断forEach循环(使用break语句或使用continue语句)。
    var arr = [1, 2, 3, 4];
    
    arr.forEach(function (value, index, array) {
       console.log(index + value);
    })
  3. 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]);
    }
  4. for of是ES6中新增的语法,可以循环数组,但是不能循环普通对象,它能可以循环字符串、Map、Set等等。
    var arr = ['China', 'America', 'Korea'];
    for (let o of arr) {
       console.log(o);
    }

更多内容请看https://blog.itmxue.cn/posts/post-229.html

赞(1)
未经允许不得转载:Mxue note » js中的forEach、for、for in和for of等的区别