JavaScript相关文章

for in和for循环的区别

2019-11-10  本文已影响0人  Amuer蘃
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了

上一篇下一篇

猜你喜欢

热点阅读