Object.create
Object.create : 创建一个新对象,使用现有的对象来提供新创建的对象的__proto__。
Object.create(proto, [propertiesObject])
proto : 必须。表示新建对象的原型对象,即该参数会被赋值到目标对象(即新对象,或说是最后返回的对象)的原型上。该参数可以是null, 对象, 函数的prototype属性 (创建空的对象时需传null , 否则会抛出TypeError异常)。
propertiesObject : 可选。添加到新创建对象的可枚举属性(即其自身的属性,而不是原型链上的枚举属性)对象的属性描述符以及相应的属性名称。
返回值:在指定原型对象上添加新属性后的对象。
关于new Object和Object.create的区别
// new Object() 方式创建
var a = {
rep : 'apple' }
var b = new Object(a)
console.log("b = ",b)
console.log("b.__proto__ = ",b.__proto__) // 指向Object最顶级的原型链
console