function Parent()
{
}Parent.prototype.hello = "Hello";
Parent.prototype.sayHello = function()
{
    alert(this.hello);
}function Child()
{
}Child.prototype = new Parent();
Child.prototype.world = "World";
Child.prototype.sayWorld() = function()
{
     alert(this.World);
}上面实现继承是没问题的,我做一些修改为什么就不可以了, 修改如下:
function Parent(username)
{
   this.username = username;
}
Parent.prototype.hello = "Hello";
Parent.prototype.sayHello = function()
{
    alert(this.hello);
}function Child()
{
}
Child.prototype = new Parent("mmmm");
Child.prototype.world = "World";
Child.prototype.sayWorld() = function()
{
     alert(this.World);
}在我实现继承的时候
var child = new Child("1111", "2222");
就会报错,  求高手解答!

解决方案 »

  1.   

    Child.prototype.sayWorld() = function()
    {
      alert(this.World);
    }
    这里写错了,去掉括号
      

  2.   

    对不起,是我敲错了,不是这个的原因,修改后还是不可以的: 
    Child.prototype.sayWorld = function()
    {
      alert(this.World);
    }
      

  3.   

    用firebug查看发现prototype是无限链下去的,我不知道是怎么会出现这个无限链的,请高手帮忙分析下,谢谢!我想把图贴上,貌似不允许  - -!
      

  4.   

    哪里又不可以了Child.prototype.sayWorld() = function()
    {
      alert(this.World);
    }
    这里的大写变成小写
      

  5.   

    确定不是大小写或者是什么地方敲错了  如果真是这个大小写的问题 脚本应该都是可以运行的 只不过弹出"undefined"    
      

  6.   

    去掉括号,修改小写以及清空浏览器缓存。另外,你继承的写法很烂。一般不允许在prototype上直接加变量,因为那个相当慢。但是function句柄就不一样了,他只是一个int。还有,你这样继承,你构造体的参数怎么办啊???
      

  7.   

    prototype不会无限链下去的,到Object就结束了,它是最高的父类。
      

  8.   

    谢谢大家提出的解释,谢谢9楼给出的代码优化的建议
    我自己仔细分析了下是问题是出在this.test = function(){.........}这里,
    在new Parent()的时候,test函数方法也会new一次,它在new 的时候是调用Parent的
    Parent.prototype.constructor的方法而不是它本身的constructor, 而Parent.prototyep.constructor就包含了test,所以一直就无限链下去了