这是关于JavaScript中的“继承”。JavaScript中的构造函数和继承
假设我创建一个构造鸟(),和另一个叫鹦鹉(),我做,通过设定它的一个实例鹦鹉的原型,如下面的代码“继承”鸟的性质表明:
function Bird() {
this.fly = function(){};
}
function Parrot() {
this.talk = function(){ alert("praa!!"); };
}
Parrot.prototype = new Bird();
var p = new Parrot();
p.talk(); // Alerts "praa!!"
alert(p.constructor); // Alerts the Bird function!?!?!
当我创建了一个Parrot实例后,它为什么是Bird()的.constructor属性,而不是Parrot(),它是我用来创建对象的构造函数?
现代火狐,Chrome,IEXPLORER和Safari测试了相同的结果...:P – nandinga