有人会说这有什么好些的 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以下都不支持