1.把原型(prototype)指向对象(继承)
var Student = { name: ‘Robot‘, height: 1.2, run: function () { console.log(this.name + ‘ is running...‘); } }; var xiaoming = { name: ‘小明‘ }; xiaoming.__proto__ = Student; //仅用于演示目的。一般不要直接用obj.__proto__去改变一个对象的原型
2.Object.create()
方法可以传入一个原型对象,并创建一个基于该原型的新对象,但是新对象什么属性都没有
// 原型对象: 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; // s的name属性赋值为新的name参数 return s; } var xiaoming = createStudent(‘小明‘); xiaoming.run(); // 小明 is running... xiaoming.__proto__ === Student; // true
时间: 2024-10-10 20:02:04