JS面向对象程序设计--对象属性

1、数据属性与访问器属性、定义多个属性

var object = new Object();
Object.defineProperty({
    object,
    "key",
    {
        configurable:true,
        writable:trune,
        value:'value',
        enumrable:true,
    }
});
//configurable true可以用delete删除,false不可删除,不可继续设置
//writable,true可写
//value设置值
//enumrable是否能在for in中遍历
//defineProperty浏览器支持

Object.defineProperty(object,"key",{
    get:function(){...},
    set:function(value){this.xxx=xxx....}
})
//Object的getter和setter方法

Object.defineProperty(object,{
    key1:{writable:...},
    key2:{value:....}
})
//Object同时定义多个属性

2、读取属性的特性与应用

var object = {
    key1:'key1'
}
var key1Descriptor = Object.getOwnPropertyDescriptor(object,"key1");
key1Descriptor.value = ....;
//浏览器的支持请 IE9+ FF4+ Safari5+ Opera12+ Chrome

Object.getOwnPropertyDescriptor的应用在装饰器中有介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值