首先,我们先梳理一下他们之间的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。
function Person(){
}
//将属性和方法都添加到了person的原型属性prototype中
Person.prototype.name = "nick";
Person.prototype.age = 23;
Person.prototype.state = "signal dog";
Person.prototype.getState = function(){
alert(this.state);
}
var person1 = new Person();
person1.getState(); //signal dog
var person2 = new Person();
person2.getState(); //signal dog
当你创建一个新函数的时候,会自动创建一个prototype属性,这个属性是指向函数的原型对象。并且,默认情况下所有原型对象都会自动获得一个constructor构造函数属性。这个构造函数属性是一个指向prototype属性所在函数的指针。

本文深入探讨了JavaScript中构造函数、原型对象及其实例之间的关系。解析了如何通过构造函数创建原型对象,并将属性和方法添加到原型中,使得所有实例可以共享这些属性和方法。
874

被折叠的 条评论
为什么被折叠?



