zoukankan      html  css  js  c++  java
  • for in 的各种坑

    for in方法用来遍历数组或者对象的显性属性,就是说我们自己定义的属性都是可以遍历的,而对象固有的属性,比如Object.prototype.toString是遍历不出来的。

    for in方法简洁好用,但依旧有一些需要注意的地方

    1. 遍历顺序

      var b = {3:1,42:2,11:3}

      for( var key in b ){    

        alert( b[key]);

       }

    只有高版本浏览器的顺序是1, 2, 3,低版本会是1, 3, 2

    2.自定义的扩展方法会被遍历出来, for方法不会

    Object.prototype.test = "I am test"

    var b = {"name":"txj"}

    for( var key in b ){    

      alert(key + " : "+ b[key])

    }

    test方法会被遍历出来

    此外还有多个坑,但目前尚未遇见过,详细介绍可参考http://www.2cto.com/kf/201411/348278.html,目前的最好选择就是不用用for in遍历对象或对象数组。

  • 相关阅读:
    VS2010 添加项目依赖
    人工鱼群算法 AFSA
    粒子群算法 PSO
    CUDA速度测试
    AGSO 萤火虫算法
    用于WTL工具栏的辅助类CToolBarHelper
    关于结构体内存对齐
    遗传算法 GA
    A*算法
    人工蜂群算法 ABC
  • 原文地址:https://www.cnblogs.com/yanze/p/5971229.html
Copyright © 2011-2022 走看看