JavaScript prototype(原型对象)

所有的JavaScript对象都会从prototype(原型对象)中继承属性和方法。

prototype继承:所有的JavaScript对象都会从一个prototype(原型对象)中继承属性和方法:

    1、Date对象从Date.prototype继承。2、Array对象从Array.prototype继承。3、Person对象从Person.prototype继承。所有JavaScript中的对象都是位于原型链顶端的Object的实例。

JavaScript中对象有一个指向一个原型对象的链。当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的Date对象、Array对象、以及Person对象从Object.prototype继承。

添加属性和方法:

当我们需要对一个已经存在的对象添加新的属性或者是新的方法时。或者是我们想要在对象的构造函数中添加属性或方法,此时prototype属性就可以给对象的构造函数添加新的属性:

例:我们向一个已经存在的对象构造函数添加新的属性

function Person(first,last,age,eye){

    this.firstName = first;

    this.lastName = last;

    this.age = age;

     this.eyeColor = eye;

}

Person.prototype.nationality = "China";

var myFather = new Person("John","Doe",20,"blue");

document.getElementById("demo").innerHTML = "我的国籍是" + myFather.nationality;

打印结果:我的国籍是China

我们也可以使用prototype属性就可以给对象的构造函数添加新的方法:如图

JavaScript prototype(原型对象)