如何在JavaScript中的构造函数中复制对象

玛丽莲娜

我想创建一个自定义图像构造函数:

var image1 = new imgConstructor("picture.png", 100, 50);

我努力了:

var imgConstructor = function(src, width, height) {
    this = new Image(width, height);
    this.src = src;
}

this = new Image()无效。

我知道我可以使用工厂功能来做到这一点:

var imgConstructor = function(src, width, height) {
    var img = new Image(width, height);
    img.src = src;
    return img;
}
var image1 = imgConstructor("picture.png", 100, 50);

但是我想使用“ new”来处理构造函数有任何想法吗?

贝吉

但是我想使用构造函数new有任何想法吗?

不,那不可能。Image毕竟,您将无法继承子类如果您需要使用自己的方法使用“实例”,则最好创建一个包装对象(就像this.img = new Image(…)在构造函数中一样)。

使用工厂函数是完全可以的,在这里似乎很合适。如果您new出于某种原因要使用,则可以new在工厂函数上使用它,它仍然可以工作(尽管产生Image,而不是的实例imgConstructor)。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在构造函数中初始化对象数组?

如何在JavaScript ECMA6中重载构造函数?

如何重载JS(Javascript)中对象的构造函数?

如何在Swift子类中实现复制构造函数?

如何在javascript / vuejs中复制对象

如何在JavaScript中覆盖本机构造函数

如何在以下C ++代码中的同一对象上调用default并复制构造函数?

如何在JavaScript中的对象上调用构造函数?

如何在PHP中实现复制构造函数?

如何在javascript中查看函数的构造函数属性?

如何在类构造函数中记录对象?

如何在Javascript的类构造函数中访问分配给对象的变量名?

如何在Javascript中重写基类构造函数

如何在javascript对象中使用构造函数以仅使用`this`中的属性?

C ++如何在容器类复制构造函数中复制分配器对象

如何在javascript中管理super()构造函数参数

如何在构造函数中复制整个数组

对象构造函数作为Javascript中的函数

如何在JavaScript中冻结构造函数中的属性

Javascript中是否有复制构造函数?

如何在对象构造期间在函数中设置属性?

如何在javascript es6类构造函数中声明一个对象

如何在构造函数Angular中传递对象?

如何在构造函数中构造对象并分配引用?

如何在 Javascript 中的对象构造函数中创建数组

如何在 JavaScript 中为对象数组创建构造函数?

如何在 C++ 中实现复制构造函数

如何在构造函数中访问 JSON 对象?

如何在 JavaScript 的构造函数中初始化对象数组