JavaScript: Deep Copy Image() Object
JavaScript: Deep Copy Image() Object
我有这个对象合并功能:
function merge( obj1, obj2 )
{
var result = {};
for( var prop in obj1 )
{
if( obj2.hasOwnProperty(prop) )
{
if( 'object' === typeof obj1[prop] && 'object' === typeof obj2[prop] )
{
result[prop] = merge( obj1[prop], obj2[prop] );
}
else
{
result[prop] = obj2[prop];
}
}
else
{
result[prop] = obj1[prop];
}
}
return result;
};
此函数的目的是将两个对象合并为一个对象,用 obj2 的值(如果存在)覆盖 obj1 的值。
它适用于大多数对象,但是当我尝试使用它来合并两个Image()
对象时,我陷入了一个无限循环。例如:
merge(new Image(), new Image())
结果在:
Uncaught RangeError: Maximum call stack size exceeded
我认为这与对象的事件有关,但我不确定。您认为为什么会发生这种情况,以及如何改进此功能以解决此问题?
第一件事是 null 是一个对象,因此您为所有 null 调用合并。
二是有属性
ownerDocument
所以你正在循环那个...
相关文章:
- Image赢得't隐藏在滚动jQuery上
- 函数未在Object.keys或Object.getOwnPropertyNames下列出,但可以调用
- delete在Object上效率低下,但在DOM Element's的数据属性,与null out相比
- 使用:new Image()控制加载html.src=html_URL
- 无法使用nodeJS在html中设置Image src
- 有没有一种方法可以列出Ember.Object的所有绑定
- 如何取消object.prototypes javascript的一个函数
- image.onload事件和浏览器缓存
- SVG xml to image
- 为什么是文档.旧版应用程序中的DOM-object.properties为null
- 将*.js文件的内容放入Object中
- Object.prototype using 'this'
- 使用Object.create()的角度服务继承
- 如何使用object.assign()从其他对象引用基本对象属性
- 循环的数组推入在Object容器中具有不同的值
- reducers在redux中得到Function not Object,what'it’他错了
- JSON.stringify和Object.keys在同一个对象上产生不同的结果
- 如何在sap.m.Image元素上创建可点击区域
- JavaScript: Deep Copy Image() Object
- object htmlageelement显示而不是image