面向对象基本概念

来源:互联网 发布:最优化方法孙文瑜答案 编辑:程序博客网 时间:2024/05/22 17:41

1.访问器属性
访问器属性不包含数据值;它们包含一对儿getter和setter函数(但不是必需的),在读取访问器属性时,会调用getter函数,这个函数负责返回有效的值;在写入访问器属性时,会调用setter函数并传入新值,这个函数负责决定如何处理数据;

var book={  _year:2004,  edition:1} Object.defineProperty(book,"year",{     get:function(){        return this._year;},     set:function(newValue){        if(newValue > 2004){         this._year=newValue;         this.edition +=newValue - 2004;      }    }})  ; book.year=2005; console.log(book.edition) //2/* 以上代码创建了一个book对象,并给它定义两个默认的属性:_year和edition.   _year前面的下划线是一种常用的记号,用于表示只能通过对象方法访问的属性。而访问器属性year则包含一个getter函数和setter函数。getter函数返回_year的值,setter函数通过计算来确定正确的版本。因此,把year属性修改为2005会导致_year变成2005,而edition变为2。这是使用访问器属性的常见方式,即设置一个属性的值会导致其他属性发生变化 */

2 定义多个属性

0 0
原创粉丝点击