js中对象获取属性的两种表示方法

7 篇文章 0 订阅
7 篇文章 0 订阅

一 使用 .
点 一般操作静态对象来存取属性

  mounted(){
    let obj = {
      a:"m1",
      b:"m2"
    }
    console.log("a---",obj.a)//m1
  }

我们平常开发中会多使用第一种方式,系统会把调用的obj.a自动隐式转换成 :obj[‘a’]来执行,所以第二种会比第一种快捷。

二 使用 [] (又称数组表示法)
中括号 一般操作动态对象来存取属性

  mounted(){
    let obj = {
      a:"m1",
      b:"m2"
    }
    console.log("b---",obj['b'])//m2
  }

共同点:以上两种都可以实现属性的存取。
区别:
第一种obj.a 点后面是对象中的属性名,必须是一个指控的属性名。第二种 obj[‘a’] []里面必须是字符型。

使用场景:
当动态为某个对象添加属性时用第二种合适。动态操作对象时。

  mounted(){
    let obj1 = {
      haha1:{a1:1,b1:1},
      haha2:{a2:2,b2:2},
      haha3:{a3:3,b3:3},
      btn:function(num){
        return obj1['haha'+num]
      }
    }
    let result = obj1.btn(3)
    console.log("result---",result)
  }

在这里插入图片描述
三 结合剩余参数使用

<div @click="btn(1,'msg')">btn</div>
 btn(data,...val){
    console.log("data---",data)//始终接收第一个参数==1
    console.log("val---",val)//["msg"] 
    console.log("c---",val[0])//msg
    console.log(typeof(['msg']))//object类型
    if(val == "msg"){
      console.log('yes')//yes
    }else{
      console.log('no')
    }
  }
  //当object只有一个参数时如['msg'],用...val接收时
  // val==['msg']==msg  所以  val=='msg' 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值