所以我一直在做大量的关于原型的阅读,我大部分都是这样理解的,我的意思是,我得到以下内容。函数和对象的原型构造函数
var Animal = function(species) {
this.species = species;
};
Animal.prototype.getSpecies = function() {
return this.species;
}
var myDog = new Animal("Anderson");
alert(myDog.getSpecies());
我甚至知道我可以创建一个新的物种,并设置原型动物,然后能够调用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/
我试图找到的东西,解释了为什么原型人物是函数(){}?我认为它会设置为全局对象'this'(在本例中为window)。另外 - 为什么我不能枚举它的属性?读this会建议我可以使用constructor.prototype检索我认为是'window'的对象,然后枚举这些属性。
很显然我错过了一些东西 - 谢谢!
尝试的console.log(meToo.constructor.prototype)创建任何 – mplungjan
下面是使用记录更新的小提琴http://jsfiddle.net/r0k3t/s8Sx7/ 14/ – Kenn