Object.defineProperties 和 Object.defineProperty

Object.defineProperty

var obj = {
 name:'张三',
 age:'20'
}
Object.defineProperty(obj,'sex',{
   value:'男'
})
console.log(obj)
输出结果:{name: "张三", age: "20", sex: "男"}

Object.defineProperty 可以对对象添加单个属性,和修改某个特定的属性值

Object.defineProperties

var obj = {
  name:'张三',
  age:'20'
}
Object.defineProperties(obj,{
   'sex':{
      value:'男'
    },
   'city':{
      value:'北京'
   }
})
console.log(obj)

Object.defineProperties可以同时对多个属性进行修改和赋值操作

注:如果用Object.defineProperties对单个属性进行修改和赋值时会报

VM447:5 Uncaught TypeError: Property description must be an object: s
at Function.defineProperties (<anonymous>)
at <anonymous>:5:8 

这里只需将Object.defineProperties 换成 Object.defineProperty 就可解决.

posted @ 2020-12-28 09:46  有肌肉的小眼睛  阅读(233)  评论(0)    收藏  举报