• 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 并不适用于处理原有的原生对象

  • 相关阅读:
    第5章 构建Spring Web应用程序
    第4章 面向切面的Spring
    第3章 高级装配
    js json和字符串的互转
    webservice CXF入门服务端
    javascript的解析执行顺序
    java AES加密解密
    redis学习 java redis应用
    项目部署操作linux数据库mysql出现表找不到
    灯具板SOP
  • 原文地址:https://www.cnblogs.com/xzybk/p/12532653.html
Copyright © 2020-2023  润新知