1
1
问题在于如何克隆“原型” 下一行
您不仅克隆了“原型”,还克隆了“名称”属性。
您的代码现在将返回
|
2
0
我有以下的目标:
这意味着我必须遍历所有类型为“object”的属性,如果您有一个深嵌套,那么这可能会非常昂贵。 如果您有一个简单的1级对象,您可以使用一个简单的循环反射并创建一个新的对象文本。 注意:这不会复制原始对象的方法。
|
3
0
除了SolutionYogi提到的改变之外,还需要做另一个改变。在FOO中,您将传递要克隆的BAR,但BAR是构造函数(typeof BAR==“function”),因此它将无法通过克隆函数的第一次测试,并且您的返回值将是对未更改的BAR的引用。这意味着myBAR.prototype不是BAR.prototype的克隆,而是对它的引用。 为了实际创建一个新的构造函数,而不仅仅是一个ref,我认为您必须使用eval——添加如下内容:
还有其他考虑因素(正如Alex指出的),但是添加上面的内容应该会使您的测试用例成功。 |
4
0
|
5
0
我只是想向任何人展示我对上述问题的解决方案。
试着深入了解它是如何工作的。是否有人可以看到此实现存在任何问题、内存泄漏等。? |
juiceb0xk · 运行安装程序时更改程序包名称。py公司 6 年前 |
vince · 角反应形式的深度复制? 6 年前 |
rener172846 · 如何在Haxe中克隆动态对象? 6 年前 |
Hemispherr · git克隆的权限被拒绝 7 年前 |
Jason · 克隆模板时如何更改内部div? 7 年前 |
yuppo · git属性中忽略了负面模式 7 年前 |