复制和修改用于实例化javascript的相似对象

用户名

我有一个看起来像的物体

var customObject = function() {
    this.property = "value";
};

customObject.prototype = new otherObject();

customObject.prototype.property2 = function() {};

等等-比这大得多。

我可以通过编写成功实例化该对象new customObject()

现在,我想创建一个相当相似的对象,尽管有所不同。这涉及修改某些属性,甚至可能添加或删除一些属性。就像上面的示例一样,我希望可以通过写入来调用它new customObject2()

我以为我可以做:

var customObject2 = new customObject();
customObject2.prototype = customObject.prototype;
customObject2.property = "modified value";

等等。

但是,当我尝试通过实例化它时,new customObject2()我收到一个错误,指出customObject2不是函数。

我希望我能很好地说明我想要创建哪种模式。我应该采用什么方法来创建这种模式?

保罗·S。

如果customObject不是宿主对象(即,如果尝试以不同于预期的方式调用它,则不会给您带来非法调用错误),则可以构造函数应用于其他this Object

var customObject2 = function () {
    customObject.call(this); // construct as if `customObject`
    // now do more stuff
    this.anotherProperty = 'foo';
};
customObject2.prototype = Object.create(customObject.prototype);
    // inherit prototype but keep original safe

new customObject2();

向后兼容 Object.create

function objectWithProto(proto) {
    var f;
    if (Object.create) return Object.create(proto);
    f = function () {};
    f.prototype = proto;
    return new f();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将对象存储在数组中以进行实例化和修改实例化(Java)

来自分类Dev

Javascript对象实例化大小和方法的巨大性能差异

来自分类Dev

直接修改对象与通过复制的实例间接修改对象(然后使原始对象相等)

来自分类Dev

复制(和修改)对象时,如何避免Javascript中的过时吸气剂?

来自分类Dev

JavaScript对象未实例化

来自分类Dev

区分按值复制和按引用复制实例/对象

来自分类Dev

为什么在OO编程中用于强制转换对象的实例在变量中实例化超类和子类?

来自分类Dev

删除和修改用户评论

来自分类Dev

实例化和删除对象C ++

来自分类Dev

实例化和删除对象C ++

来自分类Dev

Javascript原型和修改原始对象

来自分类Dev

在其声明中实例化的Javascript对象

来自分类Dev

Javascript中实例化对象的性能影响

来自分类Dev

Javascript中实例化对象的性能影响

来自分类Dev

Javascript-引用实例化的对象

来自分类Dev

使用Pyserial,为什么在实例化Serial类和用于写入数据的Serial对象之间需要延迟?

来自分类Dev

Javascript中的数组和对象复制

来自分类Dev

如何在MarkLogic Javascript中复制和修改文档?

来自分类Dev

如何修改用于Flot缩放选择的颜色?

来自分类Dev

用于检查哪个对象实例化函数调用的复杂测试

来自分类Dev

如何实例化和使用包含其他对象的对象?

来自分类Dev

Javascript原型-是否不仅适用于实例对象?

来自分类Dev

Ruby-子类对象可以从父对象接收和修改实例变量吗

来自分类Dev

复制React State对象;修改复制的对象更改状态对象

来自分类Dev

Attoparsec是否支持保存和修改用户状态?

来自分类Dev

实例化对象后定义吸气剂和吸气剂

来自分类Dev

基本的面向PHP对象的实例化和依赖注入

来自分类Dev

使用Spring实例化对象以进行测试和生产

来自分类Dev

Scala:实例变量和对象初始化

Related 相关文章

  1. 1

    将对象存储在数组中以进行实例化和修改实例化(Java)

  2. 2

    Javascript对象实例化大小和方法的巨大性能差异

  3. 3

    直接修改对象与通过复制的实例间接修改对象(然后使原始对象相等)

  4. 4

    复制(和修改)对象时,如何避免Javascript中的过时吸气剂?

  5. 5

    JavaScript对象未实例化

  6. 6

    区分按值复制和按引用复制实例/对象

  7. 7

    为什么在OO编程中用于强制转换对象的实例在变量中实例化超类和子类?

  8. 8

    删除和修改用户评论

  9. 9

    实例化和删除对象C ++

  10. 10

    实例化和删除对象C ++

  11. 11

    Javascript原型和修改原始对象

  12. 12

    在其声明中实例化的Javascript对象

  13. 13

    Javascript中实例化对象的性能影响

  14. 14

    Javascript中实例化对象的性能影响

  15. 15

    Javascript-引用实例化的对象

  16. 16

    使用Pyserial,为什么在实例化Serial类和用于写入数据的Serial对象之间需要延迟?

  17. 17

    Javascript中的数组和对象复制

  18. 18

    如何在MarkLogic Javascript中复制和修改文档?

  19. 19

    如何修改用于Flot缩放选择的颜色?

  20. 20

    用于检查哪个对象实例化函数调用的复杂测试

  21. 21

    如何实例化和使用包含其他对象的对象?

  22. 22

    Javascript原型-是否不仅适用于实例对象?

  23. 23

    Ruby-子类对象可以从父对象接收和修改实例变量吗

  24. 24

    复制React State对象;修改复制的对象更改状态对象

  25. 25

    Attoparsec是否支持保存和修改用户状态?

  26. 26

    实例化对象后定义吸气剂和吸气剂

  27. 27

    基本的面向PHP对象的实例化和依赖注入

  28. 28

    使用Spring实例化对象以进行测试和生产

  29. 29

    Scala:实例变量和对象初始化

热门标签

归档