<script> // 1.声明对象 var person = { type: '人类', say: function() { console.log('我是' + this.type); } } // 2.使用 Object.create创建的新对象 var obj = Object.create(person); console.log('obj', obj); // 存在这样的关系: obj.__proto__ === person;</script><script> // 1.声明一个函数 function madeObj(o) { // 2.根据传入的对象使用Object.create创建一个对象, 新的对象继承了传入对象的一切属性和方法 var obj = Object.create(o); // obj.__proto__ === o; // 3.给新的对象添加方法sayName obj.sayName = function() { console.log(this.name); } // 4.返回新的对象 return obj; } // person相当于原型对象的角色 var person = { name: '人', nation: '中国', sayHello: function() { console.log('hello'); } } //5.调用madeObj方法创建对象 var p = madeObj(person); console.log('p', p); // p对象继承了person对象的属性和方法 p.sayName();</script>