各位大虾帮帮忙:关于用js的原型链实现继承的问题
我使用原型链方式实现两层继承,代码如下:
function prop()
{
var t=new Three();
document.writeln(t.num);
}
function Three()
{}
Three.prototype=new Two();
function Two()
{}
Two.prototype=new One();
function One()
{}
One.prototype.num=123;
调用prop()方法,为什么结果会是undefined呢?
可是我把One、Two、Three三个函数的顺序倒过来写,如下:
function prop()
{
var t=new Three();
document.writeln(t.num);
}
function One()
{}
One.prototype.num=123;
function Two()
{}
Two.prototype=new One();
function Three()
{}
Three.prototype=new Two();
为什么这样写就对了呢?输出结果为123。
据我所知,js中的函数都可以先调用后定义,可为什么会出现上面情况呢?