javascript 定义修改属性值

有人会说这有什么好些的 foo['a'] = 'b'; foo.a = 100; 这太简单了

这里介绍下 Object.defineProperty 因为它能设置 属性的权限

 

例如 我们需要将 foo 对象的某个属性设置为 不可枚举

var foo = {
      name: 'tom'  
};

Object.defineProperty(demo, 'name',{
    value:"jack",
    enumerable:false
});

这里第一个参数是对象  第二个是属性的key 第三个参数是属性的描述

 

入过我们不想让对象的某个属性被删掉

Object.defineProperty(demo, 'foobar',{
    value:"hello",
    configurable: false
});

等等  都可以实现

但defineProperty是 es5的特性 IE8以下都不支持

 

posted @ 2016-01-09 17:43  幹掉上帝  阅读(455)  评论(0编辑  收藏  举报