/* var Student = {
name: 'Robot',
height: 1.2,
run: function () {
console.log(this.name + ' is running...');
}
};
var xiaoming = {
name: '小明'
};
xiaoming.__proto__ = Student;
console.log(xiaoming.name) ;
console.log(xiaoming.run() );*/
var Student = { // 原型对象
name: 'Robot',
height: 1.2,
run: function () {
console.log(this.name + ' is running...');
}
};
function createStudent(name) {
// 基于Student原型创建一个新对象:
var s = Object.create(Student);
// 初始化新对象:
s.name = name;
return s;
}
var xiaoming = createStudent('小明');
xiaoming.run(); // 小明 is running...
xiaoming.__proto__ === Student; // true
在编写JavaScript代码时,不要直接用obj.__proto__去改变一个对
象的原型,并且,低版本的IE也无法使用__proto__。
Object.create()方法可以传入一个原型对象,并创建一个基于该原
型的新对象,但是新对象什么属性都没有,因此,我们可以编写一
个函数来创建xiaoming