美文网首页JavaScript相关文章
for in和for循环的区别

for in和for循环的区别

作者: Amuer蘃 | 来源:发表于2019-11-10 18:55 被阅读0次
    for的语法结构:
         for( 初始值;判断条件;步长值){ code }
        for( var i =0;i<5;i++ ){
          //i初始值为0;i是否小写5;每次循环后i加1
          console.log(i);//  0  1  2  3  4
         }
    
    

    for in的写法:

        var man = {
          age:24,
          name:"赵宇",
          sex:"男"
        }
        console.log(man);
        //结果:Object
                        {age: 24
                        name: "赵宇"
                        sex: "男"
                        __proto__: Object}
    
    
    for(var attr in man){//attr是属性,attr可以换成任意变量名
      console.log(attr);//  输出的是 属性名:age  name  sex
      console.log(wq[attr]);//属性相对应的值  24 赵宇 男
    }
    
    

    for循环就是我们常用的方法用来遍历。for in一般是用来遍历对象的,for 循环可以遍历一个数组,而for in遍历对象,对象有多个属性,各个属性又有各自 的值。在上面的案例里面,想要获取对象的属性相应的值for是遍历不了的,这个时候for in就出场了。
    上面的案例中,对象wq里有三个属性和相对应的值,想要获取到这三个属性及相对应的值for是办不到的,只有for in才可以,所以说,for in一般都是用在遍历对象的,另外,for in也可以遍历数组,但是会存在以下几个问题。

    1、 for in这种循环i是string类型的,不能直接进行几何运算
    2、遍历顺序有可能不是按照实际数组的内部顺序
    3、使用for in会遍历数组所有的属性,包括原型。例如上例的原型方法method和name属性
    4、简而言之,for-in是为普通对象设计的,你可以遍历得到字符串类型的键,因此不适用于数组遍历。

    所以说for in也有他的局限性,因此遍历一般的数组用for比较好,遍历对象就需要for in了

    相关文章

      网友评论

        本文标题:for in和for循环的区别

        本文链接:https://www.haomeiwen.com/subject/wwigbctx.html