如何实现对一个 dom 元素进行拷贝, 包括它绑定的事件
使用cloneNode,传入 true 是深度拷贝
let newDom = oldDom.cloneNode(true);
// jquery
$("#oldDom").clone(true);
克隆对象
function clone(origin) {
return Object.assign({},origin);
}
实现了对原始对象的克隆,但是只能克隆原始对象自身的值,不能克隆她继承的值,如果想要保持继承链,可以采用如下方法:
function clone(origin) {
let originProto=Object.getPrototypeOf(origin);
return Object.assign(Object.create(originProto),origin);
}
来源整理自:vue3js.cn 面试官系列



