Javascript中访问器的优先级-LMLPHP

1.正常使用

 <script>
            const product ={
                //属性
                data : [
                    {id :1 ,name : "电脑" , price:5000 , num : 5},
                    {id :2 ,name : "手机" , price:4000, num : 15},
                    {id :3 ,name : "相机" , price:6000, num : 25}
                ],
                //计算金额(方法)
                //es6的方法的简化,将冒号和function关键字可以删除
                getAmounts : function(){
                    return this.data.reduce((t,c) => (t+=c.price *c.num),0);
                },
                //访问器属性,将一个方法包装成一个属性

                //get:是读取,也叫读操作
                get total(){
                    return this.data.reduce((t,c) =>(t+=c.price *c.num),0 );
                },
                //set:是写操作 访问器属性的写操作
                set setNum(num){
                    this.data[1].num=num;
                },
                set setPrice(price){
                    this.data[1].price=price;
                },
            };
            console.log(product.getAmounts());
            console.log("总金额为:",product.total);
            product.setPrice=100;
            console.log("更改后的价格为:",product.data[1].price);
 </script>
登录后复制

2.访问器属性的优先级高于同名的普通属性

  <script>
          let user={
              //属性
              data:{name},
              //方法
              set name(name){
                  this.data.name=name;
              },
              get name(){
                  return this.data.name;
              }
          }
          user.name="呵呵";
          console.log(user.name);
    </script>
登录后复制

推荐:《2021年js面试题及答案(大汇总)

以上就是Javascript中访问器的优先级的详细内容,更多请关注Work网其它相关文章!

08-17 06:39