随手写了个能真复制对象的函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随手写了个能真复制对象的函数相关的知识,希望对你有一定的参考价值。

简单来说就是通过递归调用自身来完成对对象的完整复制。

然而对于有属性的函数依旧无解,期待找到解决办法。

除此之外,测试了一下并没有发现什么问题,应该能用。

function copy(objIn,objOut){
    for(var prop in objIn){
        switch (typeof objIn[prop]){
            case "number":objOut[prop]=objIn[prop];
            break;
            case "string":objOut[prop]=objIn[prop];
            break;
            case "object":{
                var temp=(objIn[prop].constructor==Array)?[]:{};
                copy(objIn[prop],temp);
                objOut[prop]=temp;
                break;
            }
            case "function":{
                //如果函数定义了属性,那么这一段代码并没有实现真正的复制。
                objOut[prop]=objIn[prop];
                break;
            }
            default:{
                throw new Error("type error!");
            }
        }
    }
}

 

以上是关于随手写了个能真复制对象的函数的主要内容,如果未能解决你的问题,请参考以下文章

TS编程——面向对象随手录——接口_命名空间——重构javaScrip 3D引擎代码部分——函数

随手写了一段C++访问LDAP, 并且获取sid的代码

请教高手 小弟刚开始学UNIX。想做个能有下列功能的.sh。

线性变换

新手用C++写了个泛型堆,效率竟比STL的更快?

notepad++ 如何自定义代码补全提示,写了个xml如何插入notepad++中运用