Object.defineProperty()

2019-01-02  本文已影响0人  风过留香_3356

语法:

Object.defineProperty(obj,'name',{
value:"hello", //该对象的‘name’所对应的value值
    writable:false,//是否可被重新写入
    enumerable:false,//是否可以被枚举
    configurable:false//是否可以被删除
})
//obj 是指给那个对象设置Object.defineProperty();
//'name' 是指obj的一个属性设置

//还可设置getter和setter存取器
Object.defineProperty(obj,"newKey",{
    get:function (){} | undefined,
    set:function (value){} | undefined
    configurable: true | false
    enumerable: true | false
});

要点

configurable:true | false,
    enumerable:true | false,
    writable:true | false

给对象设置Object.defineProperty(),这个对象就不能被字符串模板解析,渲染到视图会是undefined
在ie8下只能在DOM对象上使用,尝试在原生的对象使用 Object.defineProperty()会报错。

上一篇下一篇

猜你喜欢

热点阅读