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)