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>
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)