注册 登录
编程论坛 JavaScript论坛

关于JavaScipt原型链问题求助,Fb.prototype._proto_ = Fa.prototype;

songfei 发布于 2012-08-24 10:47, 639 次点击
程序代码:

<script language="javascript">

function Fa()
{
     alert("Fa Creator");
}

function Fb()
{
     alert("Fb Creator");
}

Fb.prototype._proto_ = Fa.prototype;

a = new Fa();
b = new Fb();

Fa.prototype.p = "hello";

alert(a.p);  //hello
alert(b.p);  //undefined???

</script>


alert(b.p);  //undefined???
为什么呢? 我觉得也是hello啊
4 回复
#2
aspic2012-08-24 11:18
Fb.prototype._proto_ = Fa.prototype;
所以应该是b._proto_.p = "hello";
alert(b._proto_.p);//hello
#3
songfei2012-08-24 15:01
以下是引用aspic在2012-8-24 11:18:13的发言:

Fb.prototype._proto_ = Fa.prototype;
所以应该是b._proto_.p = "hello";
alert(b._proto_.p);//hello



sorry,是我错了, 我把 __proto__ 错写成了 _proto_ 少了一条下划线,加上就好了。
#4
netlin2012-08-25 07:53
学习了!
#5
wsyx9872012-09-20 10:24
你要实现继承:
//定义继承方法
Function.prototype.extends=function(obj){
  this.prototype=new obj();
  this.prototype.constructor=this;
}

//父类
var Monster=function(){
  this.name="怪物";
}
Monster.prototype={
   getName:function(){
   alert(this.name);
    }
}

//子类
var BOSS=function(){
//实现继承 1/2步骤
Monster.call(this);
this.name="BOSS";
}
//实现继承 2/2步骤
BOSS.extends(Monster);

//实例化调用父类方法
var boss=new Boss();
boss.getName();//这里使用了父类的方法
1