for in 遍历对象时取值为什么只能用[]不能用点

  var obj = {
          name:'12',
          age:123,
          sex:'male'
      }
      for( var prop in obj){
          console.log(obj.prop)
      }

当我用obj.prop取值的时候,最后发现全是undefined
在这里插入图片描述

然后我们在obj里面加一个prop属性时,我们会发现打印了4次456

 var obj = {
          name:'12',
          age:123,
          sex:'male',
          prop:456
      }
      for( var prop in obj){
          console.log(obj.prop)
      }

在这里插入图片描述

  var obj = {
          name:'12',
          age:123,
          sex:'male',
          prop:456
      }
      for( var prop in obj){
          console.log(obj[prop])
      }
    

当我们用obj[prop]取值的时候才是我们想要的.
在这里插入图片描述
这是因为我们使用obj.prop时,计算机底层会变成obj[“prop”],所以我们获取的都是undefined


版权声明:本文为weixin_41786576原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。