zoukankan      html  css  js  c++  java
  • for, for..in, in, for...of的区别

      for是ES5里做数组循环里最常用的

            for (var i = 0; i < array.length; i++) {
                // todo
            }

      for...in是ES5里用来遍历对象属性用的

    var obj = {a:1, b:2, c:3};
        
    for (var prop in obj) {
      console.log("obj." + prop + " = " + obj[prop]);
    }

      注意,数组索引只是具有整数名称的枚举属性,并且与通用对象属性相同。不能保证for ... in将以任何特定的顺序返回索引。for ... in循环语句将返回所有可枚举属性,包括非整数类型的名称和继承的那些。

    因为迭代的顺序是依赖于执行环境的,所以数组遍历不一定按次序访问元素。因此当迭代访问顺序很重要的数组时,最好用整数索引去进行for循环(或者使用 Array.prototype.forEach() 或 for...of 循环)。

           in是用来判断某变量是否是对象的属性key-value的key的

        var obj = {
            w: 'wen',
            j: 'jian'
        }
    
        var result = ("j" in obj);  //true

      for...of是ES6新增的,用来遍历具有Iterator接口的数据结构。

    参考资料:

    http://sunct.iteye.com/blog/1709017

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/for...in

  • 相关阅读:
    Android 系统日期时间的获取
    Android What is Application
    Android 所有颜色代码
    Android onNewIntent
    Android Activity管理类
    Android 应用启动渐变效果
    算法的的代价及其度量
    算法的设计与分析
    算法的描述
    数据结构与算法(python版)教程
  • 原文地址:https://www.cnblogs.com/zhansu/p/7799087.html
Copyright © 2011-2022 走看看