js------Object.defineProperty设置或修改对象中的属性

Object.defineProperty设置或修改对象中的属性

Object.defineProperty(对象,修改或新增的属性名,{
		value:修改或新增的属性的值,
		writable:true/false,//如果值为false 不允许修改这个属性值
		enumerable: false,//enumerable 如果值为false 则不允许遍历
        configurable: false  //configurable 如果为false 则不允许删除这个属性 属性是否可以被删除或是否可以再次修改特性
})	
var obj = {
      id: 1,
      pname: '小米',
      price: 1999
    };
    // 1. 以前的对象添加和修改属性的方式
    // obj.num = 1000;
    // obj.price = 99;
    // console.log(obj);
    // 2. Object.defineProperty() 定义新属性或修改原有的属性
    Object.defineProperty(obj, 'num', {
      value: 1000,
      enumerable: true
    });
    console.log(obj);

    Object.defineProperty(obj, 'price', {
      value: 9.9,
      // writable:false
    });
    console.log(obj);
    obj.price = 50;
    console.log(obj);
上一篇:简单了解 vue2.0 是如何用 Object.defineProperty() 来实现 双向绑定的


下一篇:Javascript Object.defineProperty的使用