相关疑难解决方法(0)

Javascript继承 - 构造函数中声明的对象是在实例之间共享的吗?

我在没有Prototype/jQuery的JavaScript中进行面向对象编程(我将jQuery用于其他东西).到目前为止,它一直运行良好,但我遇到了继承问题.基本上,当我在构造函数中声明对象时,它们在实例之间共享.以下是一些示例代码:

    A = function()
    {
        this.y = new Array();
    }

    A.prototype.doStuff = function(n)
    {
        this.y.push(n);
    }

    B = function()
    {
    }

    B.prototype = new A();

    var b1 = new B();
    var b2 = new B();

    b1.doStuff(100);
    b2.doStuff(200);

    console.log("b1:");
    console.log(b1);
    console.log("b2:");
    console.log(b2);
Run Code Online (Sandbox Code Playgroud)

此输出的阵列[100, 200]两者b1b2.我想要的是b1b2拥有自己的,独立的阵列来y.我该怎么做?

(PS.我认为Prototype的类系统内置了一些内容.但我宁愿不重写一堆我的代码来使用该类系统)

javascript inheritance

8
推荐指数
1
解决办法
783
查看次数

标签 统计

inheritance ×1

javascript ×1