zoukankan      html  css  js  c++  java
  • for 和 for in

    谈谈for和for in的不同之处

    下面写的for循环的是自己定义的一个数值,一般来说,for也就是用来遍历用的,像遍历数组就可以用forEach,但是forEach兼容性不是很好,所以在遍历数组是还是建议用for,那为什么不用for in呢?
    下面的案例中,对象wq里有三个属性和相对应的值,想要获取到这三个属性及相对应的值for是办不到的,只有for in才可以,所以说,for in一般都是用在遍历对象的。
    for循环代码:
    for( var i =0;i<5;i++ ){
      //i初始值为0;i是否小写5;每次循环后i加1
      console.log(i);//  0  1  2  3  4
     }
    for in 循环代码:
    var wq = {
      age:20,
      name:"咸鱼",
      sex:"男"
    }
    for(var attr in wq){//attr是属性,attr可以换成任意变量名
      console.log(attr);//  输出的是 属性名:age  name  sex
      console.log(wq[attr]);//属性相对应的值  20  咸鱼  男
    }
     
    另外,for in也可以遍历数组,但是会存在以下几个问题:
    1、index索引为字符串型数字,不能直接进行几何运算
    2、遍历顺序有可能不是按照实际数组的内部顺序
    3、使用for in会遍历数组所有的可枚举属性,包括原型。例如上述的原型方法method和name属性
    这也是为什么用for不用for in的区别,如果是遍历普通数组的话,用for是最好的选择,但是如果是对象,就for in就好了。
  • 相关阅读:
    Java 快速入门-06-JDK 目录文件说明
    Java快速入门-05-数组循环条件 实例《延禧攻略》
    腾讯云服务器 选购+远程控制 图文教程
    无法获得锁 /var/lib/dpkg/lock
    Ubuntu 安装 PhpMyAdmin 图文教程
    基于Redis的BloomFilter算法去重
    CAP理论
    Linux常用命令回顾
    基于Solr实现HBase的二级索引
    Solr搜索服务架构图
  • 原文地址:https://www.cnblogs.com/heisetianshi/p/13613589.html
Copyright © 2011-2022 走看看