frontend-hard-mode-interview
frontend-hard-mode-interview copied to clipboard
深拷贝那里有点问题
深拷贝那里,不能直接将result赋值为空对象,这样会破坏对象的原型链,而且修改了对象。 可以改成这样:
result = new obj.constructor()
利用原对象的构造函数生成新对象,然后用for in 循环给对象添加属性。不过这种方式也存在弊端,如果构造函数需要接收参数做计算,就会导致执行时报错。