我尝试在构造函数中设置prototype属性,但它不起作用,但为什么呢?如果我将属性设置为外部,一切正常。谢谢!
var a=function(){
this.x=1;
}
var b=function(){
this.prototype=new a();
this.getX=function(){
return this.x;
}
}
alert(b.prototype);
var test=new b();
alert(test.getX());
答案 0 :(得分:0)
发生的事情是你正在为" b"的每个实例创建一个公共财产。叫做原型'。不是要继承的实际原型对象。
var a=function(){
this.x=1;
}
var b=function(){
this.getX=function(){
return this.x;
}
}
// every new instance of b will inherit 'x: 1'
b.prototype = new a();
console.log(b.prototype);
var test=new b();
console.log(test.getX());
查看此链接以获取更多信息 Prototypal inheritance