zoukankan      html  css  js  c++  java
  • for、forEach、for-in与for-of的区别

    let arr=[1,2,3,4,5];
    arr.b='100';

    for

    for(let i=0;i<arr.length;i++){
        console.log(arr[i]);
    }

    for是编程式

    forEach

    arr.forEach(function(i){
        console.log(item);
    });

    forEach是声明式(不关心如何实现),没办法使用 break 语句跳出循环,或者使用return从函数体内返回。

    for in

    for(let key in arr){
        console.log(key);
    }
    1. key会变成字符串(String)类型。
    2. 包括数组的私有属性也可以打印出来,即循环不仅会遍历数组元素,还会遍历任意其他自定义添加的属性,如,arr上面包含自定义属性,arr.b,那这次循环中也会出现此b属性。
    3. 某些情况下,上述代码会以随机顺序循环数组。

    for of

    for(let val of arr){
        console.log(val);
    }

    支持return,并且是值of数组(不能遍历对象) 
    1. 可以避免所有 for-in 循环的陷阱 
    2. 不同于 forEach(),可以使用 break, continue 和 return 
    3. for-of 循环不仅仅支持数组的遍历。同样适用于很多类似数组的对象 
    4. 它也支持字符串的遍历 
    5. for-of 并不适用于处理原有的原生对象

  • 相关阅读:
    JSP界面之间如何实现传值
    绝对路径的用法
    每日日报2020.8.12 1905
    每日日报2020.8.8 1905
    每日日报2020.8.17 1905
    每日日报2020.8.15 1905
    每日日报2020.8.13 1905
    每日日报2020.8.10 1905
    每日日报2020.8.16 1905
    每日日报2020.8.9 1905
  • 原文地址:https://www.cnblogs.com/xzybk/p/12532653.html
Copyright © 2011-2022 走看看