Ajax_12|深拷贝

Posted 接引之书

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ajax_12|深拷贝相关的知识,希望对你有一定的参考价值。


Ajax_12|深拷贝


    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="Utf-8" />
        <title></title>


        <script type="text/javascript">

            window.onload = function(){    
                /*
                深拷贝
                取消两对象之间关联,但是值一样

                创建一个空的obj2对象,把obj里面的属性值一个一个的取出来,然后再把这些值一个一个复制进行;
                */

                var obj = {
                  name:"one",
                  age:18,
                  testObj:{
                    test:"",
                    test2:[]
                  }
                }


                //@para obj:接收要复制的对象
                function copy(obj){
                    var newObj = {};

                    //创建一个key变量,这个变量是obj对象循环出来的所有属性
                    for(var key in obj){
                        // console.log(key);       //这个打印的是key值
                        // console.log(obj[key]);  //这个打印的是value值

                        // if(typeof obj[key]==="object"){     //如果属性值是对象的话
                        //     newObj[key] = copy(obj[key]);   //
                        // }else{
                        //     newObj[key] = obj[key];   //不是对象的话,直接赋值
                        // }
                        newObj[key] = obj[key]; //这也是能执行的
                    }

                    return newObj;
                }

                var obj2 = copy(obj);
                obj2.name = "clyun";
                console.log(obj);
                console.log(obj2);
            }
        
</script>
    </head>
    <body>

    </body>
    </html>



浏览器:


Ajax_12|深拷贝



目录大纲

以上是关于Ajax_12|深拷贝的主要内容,如果未能解决你的问题,请参考以下文章

包,logging模块,hashlib模块,openpyxl模块,深拷贝,浅拷贝

python_深拷贝与浅拷贝

引用传递与值传递______深拷贝与浅拷贝______构造函数与析构函数

Python_浅拷贝与深拷贝

JavaScript27_浅拷贝和深拷贝 + 对象的复制

简单深拷贝