<img> 或 <canvas> 是否包含对原始(大)dataUrl 对象的引用?

Do <img> or <canvas> hold a reference to original (large) dataUrl object?

给定图像数据存储为 dataUrl 并从变量传递到图像或 canvas 背景,dom 元素是否会在内存中保存对原始 js dataUrl 的引用?

我问是因为如果引用中断,允许垃圾回收是个好主意。如果引用仍然存在,我可以将 dataUrl 保留在 js 中的可视组件上,以供以后重新使用而不会重复。

谢谢!

Data-uris 是字符串,由于字符串不是参考值,因此该值被复制到 src。没有对原始数据 uri 的引用(这也适用于普通 URL,因为 src 属性 只能采用字符串)。

从某种意义上说,它存储在内存中,因为 canvas 元素是将字符串模拟为图像。创建 canvas 元素后,您可以使用本机 canvas 方法 .toDataURL 获取 canvas 元素的字符串 url。这应该是你传入的原始字符串。