0

我是面向对象的 JavaScript 新手。试图创建一个对象构造函数。这是我的代码

function Collection() {
    this.ports = build_ports_collection();
    this.all_things = build_things_collection();
    this.added_things = function() {
        this.added_things.total_added = 0;

        var temp = this.all_things;
        temp.splice($(sth).val(), 1);
        this.added_things.all = temp;
    };
};
Collection.ports.prototype.reload = function() {
    Collection.ports = build_ports_collection();
};
Collection.all_things.prototype.reload = function() {
    Collection.all_things = build_things_collection();
};
Collection.added_things.all.prototype.reload() = function() {
    var temp = Collection.all_things;
    temp.splice($(sth).val(), 1);
    Collection.added_things.all = temp;
};
Collection.added_things.prototype.add_things = function() {
    this.added_things.total_added++;
    add_things();
};
Collection.added_things.prototype.remove_things = function() {
    this.added_things.total_added--;
    remove_things();
};

我在 Collection.added_things.all.prototype.reload()=....

netbeans 报告:分配的左侧无效。

在这里,我的意图是将方法 reload() 绑定到 Collection.added_things.all 以便在 Collection 的所有实例之间共享

我错过了什么?

4

1 回答 1

0

不确定这是否是您正在寻找的答案,但我想到了这一点。

Collection.added_things.all.prototype.reload() = function() {
    var temp = Collection.all_things;
    temp.splice($(sth).val(), 1);
    Collection.added_things.all = temp;
};

在那里,您正在为 的原型分配东西Collection.added_things.all,而

this.added_things = function() {
    this.added_things.total_added = 0;

    var temp = this.all_things;
    temp.splice($(sth).val(), 1);
    this.added_things.all = temp;
};

是第一个声明.allon - 基本上,您正在尝试为在第一次调用Collection.added_things之前不存在的属性/变量/指针分配一个值。added_things

于 2013-06-26T07:38:55.783 回答