ECMAScript5新特性

来源:互联网 发布:日本邪恶动画片软件 编辑:程序博客网 时间:2024/05/07 10:32

数据属性特性:[[value]] [[writable]] [[enumerable]] [[configurable]]
访问器属性特性:[[enumerable]] [[configurable]] [[set]] [[get]]
要想修改属性默认的特性,就得用Object.defineProperty() 和 Object.defineProperties();

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;alert(book.edition);
var book = {};Object.defineProperties(book, {    _year: {        value: 2004    },    edition: {        value: 1,        writable: true    },    year: {        get: function() {            return this._year;        },        set: function(newValue) {            if(newValue > 2004) {                this._year = newValue;                this.edition += newValue - 2004;            }        }    }});book.year = 2005;alert(book.edition);

上面两者等同

好像实现了类似public private那种修改和访问的权限

0 0
原创粉丝点击