码迷,mamicode.com
首页 > 其他好文 > 详细

6.1.2 定义多个属性

时间:2015-06-07 21:29:20      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

  由于未对象定义多个属性的可能性很大,ECMAScript 5 又定义了一个Object.defineProperties()方法。利用这个方法可以通过描述符一次定义多个属性。这个方法接收两个对象参数:第一个对象是要添加和修改其属性的对象,第二个对象的属性与第一个对象中要添加或修改的属性一一对应。例如:

var book = {};

Object.defineProperties(book,{
    _year:{
        value:2004
    },
    edition:{
        value:1
    },
    year:{
        get:function(){
            return this._year;
        },
        set:function(newValue){
            if(newValue>2004){
                this._year = newValue;
                this.edition += newValue - 2004;
            }
        }
    }
});

  以上代码在book对象上定义了两个数据属性(_year和edition)和一个访问器属性(year)。最终的对象与上一节中定义的对象相同。唯一的区别是这里的属性都是在同一时间创建的。

  支持Object.defineProperties()方法的浏览器有IE9+、FF4+、Safari5+、Opera12+和Chrome。

6.1.2 定义多个属性

标签:

原文地址:http://www.cnblogs.com/yxlove/p/4559073.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!