JS面向对象定义多个属性--object.defineProperties()方法

JavaScript 专栏收录该内容
5 篇文章 0 订阅
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
//用面向字面量的方式创建一个book对象
var book={};
//调用Object.defineProperties(对象名,要添加的属性)方法,为对象一次定义多个属性(1.数据属性)(2.访问器属性)
Object.defineProperties(book,{
//添加的两个数据属性(_year,edition)
_year:{//(_year)前面的下划线表示只能通过对象方法访问的属性
value:2004
},
edition:{
value:1
},
//添加了访问器属性(year)
year:{
//调用get方法读取属性
get:function(){
return this._year;
},
//调用set方法写入属性
set:function(newValue){
if (newValue>2004) {
this._year=newValue;
this.edition+=newValue-2004;
}
}
}
});
//测试

book.year=2005;//访问器属性常见方式,设置一个属性的值会导致其他属性发生变化

alert(book.edition);
</script>
</head>
<body>

</body>
</html>
  • 4
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值