// 创建一个对象的三种方式
// 1,字面量,2,new,3,Object.create()
// 第一种和第二种区别为传参不同
// 要注意第三种的特殊之处
// new => [].__proto__ = 构造函数.prototype
// Object.create() => [].__proto__ = 构造函数 返回一个新的构造函数`
// Object.create()是创建了父类原型的副本,与父类原型完全隔离
function create (proto) {
function F(){}
F.prototype = proto
return new F()
}
let x = {a:1}
let newObj = create(x)
console.log(newObj.a)