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属性就可以给对象的构造函数添加新的方法:如图