es5中Object.defineProperty修改对象原来的属性或定义新的属性
1.之前修改对象属性的方法
var obj={ name:"张三", age:12, weight:"60kg" } // 1.之前修改对象属性的方法 // obj.height="180cm" // obj.weight="70kg" // console.log(obj)
2.Object.defineProperty修改对象原来的属性或定义新的属性
Object.keys(对象名)表示可以获取对象的属性名
var obj = { id:1, name: "张三", age: 12, weight: "60kg" } // 1.之前修改对象属性的方法 // obj.height="180cm" // obj.weight="70kg" // console.log(obj) // 2.使用Object.defineProperty修改或定义对象属性的方法 // Object.defineProperty(对象名,"属性",{value:属性值}) Object.defineProperty(obj, "weight", { value: "70kg" }) Object.defineProperty(obj, "height", { value: "2m" }) // writable表示是否可以重写,默认值是true Object.defineProperty(obj, "id", { // writable表示是否可以重写,默认值是true writable: false, // enumerable表示是否可以枚举(遍历),默认值是false enumerable:false, // configurable表示是否可以删除属性,默认值是false,表示也不能修改第三个参数里面的特性 configurable:false }) // Object.keys(对象名)表示可以获取对象的属性名 console.log(Object.keys(obj)) // console.log(obj)