功能覆盖原型

时间:2016-04-05 09:07:32

标签: javascript prototype

    MyClass = function(params) {
     if(params.init){ 
       params.init.call(this, this.Myobject); 
     }
    };
    Myclass.prototype.Myobject = { someKeys: 'someStuff'}

我用prototype.object编写了一个JavaScript类。当我调用该类时,我可以编辑该对象:

var myClass = new MyClass({ init: function (Myobject){Myobject.foo = 'bla'}});

我用以下方式运行:

params.init.call(this, this.Myobject);

所以这会覆盖原型。 Init应该为myClass实例重写Myobject,如果没有init函数,其他实例应该使用Prototype。

1 个答案:

答案 0 :(得分:0)

所以在我没有回答后,我问我的教练。我的问题很简单...... 所以我创建了myobject作为原型。是的所以它总是会重写原型。我使用的解决方案很简单:

我使用this.myobject = {bla:foo}

创建了myobject

所以现在它不是原型的一部分,但每个实例都会创建这个新对象。