首页 > 代码库 > JavaScript全面学习(对象)

JavaScript全面学习(对象)

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

 

JavaScript全面学习(对象)