<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>