Javascript:从嵌套类访问超类对象

时间:2012-03-27 08:38:07

标签: javascript

a = new function() {
    this.x=2;
    B=function() {
        this.y=super.x;
    }
    this.b=new B();
}

alert(a.b.y); // Expecting 2

在上面,super中存在解析错误。在定义B类时如何访问x的值?

2 个答案:

答案 0 :(得分:1)

这有效,但我不确定您的代码是否正确

a = new function() {
    var x=2;
    B=function() {
        this.y=x;
    }
    this.b=new B();
}

alert(a.b.y); //alerts 2
alert(a.x) //alert undefined becuase x is private

在任何情况下,javascript中都没有super,如果您阅读here,您可以看到如何通过超级方法在javascript中实现inehritance

答案 1 :(得分:0)

发现执行此操作的最佳方法是将'this'作为嵌套类的构造函数中的参数传递,如下所示 -

a = new function() {
    this.x=2;
    B=function(sup) {
        this.y=sup.x;
    }
    this.b=new B(this);
}

alert(a.b.y); // Displays 2