在JS中用原型链实现继承的疑问?

代码如下:

function ClassA(){
}

ClassA.prototype.color="red";
ClassA.prototype.sayColor=function(){
alert(this.color);
}

function ClassB(){
}

ClassB.prototype=new ClassA();

后面写着:注意,调用ClassA的构造函数时,没有给它传递参数,这在原型链中是标准做法,要确保函数没有任何参数

这里为什么要无参数呢,我这样写也是可以的啊:

function ClassA(sName){
this.name=sName
}

ClassA.prototype.color="red";
ClassA.prototype.sayColor=function(){
alert(this.color);
}

function ClassB(){
}

ClassB.prototype=new ClassA("test");

var objB=new ClassB();
objB.sayColor();// red
console.log(objB.name);//test

哪位高手能帮忙解释一下?

哔哔one
浏览 528回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript