1.assign():
- 将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
- 属于浅复制 只能复制一层 只能将对象属性赋值给目标对象,
var o={a:1,b:2};
var o1=Object.create(o);
o1.c=3;
o1.d=4;
console.log(o1);
var o2={e:4,f:5};
Object.assign(o2,o1);
console.log(o2);
2.create():
- 创建一个新对象,使用现有的对象来提供新创建的对象的__proto__。
var o1={a:1};
var o2=Object.create(o1);
o2.b=2;
var o3=Object.create(o2);
o3.c=3;
3.defineProperties(对象,对象多属性描述对象):
- 直接在一个对象上定义新的属性或修改现有属性,并返回该对象。
var o={};
Object.defineProperties(o,{
a:{
enumerable:true,
configurable:true,
writable:false,
value:1
},
b:{
value:4
}
})
console.log(o);