gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 10:12:49 25 4
gpt4 key购买 nike

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

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” 来处理构造函数。有什么想法吗?

最佳答案

But I want to do with constructor, using new. Any ideas?

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

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

关于javascript - 如何在javascript中复制构造函数中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29987109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com