因此,我一直在阅读有关原型的大量信息,并且大部分都得到了它,我的意思是,我得到了以下内容。
var Animal = function(species) {
this.species = species;
};
Animal.prototype.getSpecies = function() {
return this.species;
}
var myDog = new Animal("Anderson");
alert(myDog.getSpecies());
我什至明白我可以创建一个新物种并将原型设置为 Animal,然后能够调用 getSpecies()。是的!
让我困惑的是:
var Person = function(firstName, lastName) {
this.firstName= firstName;
this.lastName= lastName
};
var meToo = { fName: "ken", lName: "N" };
alert(meToo.constructor.prototype); // [object Object]
alert(Person.constructor.prototype); // function Empty(){}
http://jsfiddle.net/r0k3t/s8Sx7/9/
我试图找到一些东西来解释为什么 Person 的原型是 function() {}?我认为它将被设置为全局对象“this”(在这种情况下是窗口)。另外 - 为什么我不能列举它的属性?阅读此内容表明我可以使用 constructor.prototype 来检索我认为是“窗口”的对象,然后仅枚举属性。
很明显我错过了一些东西 - 谢谢!