Skip to content

深拷贝那里有点问题 #21

@hua03

Description

@hua03

深拷贝那里,不能直接将result赋值为空对象,这样会破坏对象的原型链,而且修改了对象。
可以改成这样:

result = new obj.constructor()

利用原对象的构造函数生成新对象,然后用for in 循环给对象添加属性。不过这种方式也存在弊端,如果构造函数需要接收参数做计算,就会导致执行时报错。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions