だから私はプロトタイプについて多くのことを読んでいて、ほとんどの場合、次のことを理解しています。
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 を使用して「ウィンドウ」と思われるオブジェクトを取得し、プロパティを列挙することができることが示唆されます。
明らかに何かが欠けています - ありがとう!