Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的proto。 语法:Object.create(proto,[propertiesObject]) 参数: proto:新创建对象的原型对象。 propertiesObject:可选。需要传入一个对象,该对象的属性类型参照Object.defineProperties()的第二个参数。如果该参数被指定且不为 undefined,该传入对象的自有可枚举属性(即其自身定义的属性,而不是其原型链上的枚举属性)将为新创建的对象添加指定的属性值和对应的属性描述符。 返回值:一个新对象,带着指定的原型对象和属性。

    1. Object.myCreate = function(obj, properties){
    2. let F = function(){}
    3. F.prototype = obj;
    4. if (properties) {
    5. Object.defineProperties(F, properties)
    6. }
    7. return new F()
    8. }