| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | 
							- <!DOCTYPE html>
 
- <html lang="en">
 
- <head>
 
-   <meta charset="UTF-8">
 
-   <meta http-equiv="X-UA-Compatible" content="IE=edge">
 
-   <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
-   <title>Document</title>
 
- </head>
 
- <body>
 
-   <script>
 
-     // var a = {
 
-     //   age: 30
 
-     // }
 
-     // var str = JSON.stringify(a)
 
-     // var obj = JSON.parse(str)
 
-     // obj.age = 18
 
-     // console.log(a)
 
-     // console.log(obj)
 
-     // var person = {
 
-     //   name: 'zs',
 
-     //   age: 18
 
-     // }
 
-     // function deepClone(obj){
 
-     //   var tmp = {}
 
-     //   for(key in obj){
 
-     //     tmp[key] = obj[key]
 
-     //   }
 
-     //   return tmp
 
-     // }
 
-     // var a = deepClone(person)
 
-     // a.name = 'lisi'
 
-     // console.log(person)
 
-     // console.log(a)
 
-     var person = {
 
-       name: 'zs',
 
-       age: 18,
 
-       school: {
 
-         address: 'harbin',
 
-         num: 10000
 
-       }
 
-     }
 
-     // var a = deepClone(person)
 
-     // a.school.num = 30000
 
-     // console.log(a)
 
-     // console.log(person)
 
-     /* 封装深克隆的方法 */
 
-     function deepClone(obj) {
 
-       /* 定义一个空对象 接收深克隆后的结果 */
 
-       var tmp = {}
 
-       /* 循环对象里面的每一项  遍历对象下面的属性 */
 
-       for(key in obj){
 
-         /* 判断当前对象下面的属性是基本数据类型 还是 引用数据类型 */
 
-         if(typeof (obj[key]) == 'object'){
 
-           /* 如果是引用数据类型 再次调用函数本身 */
 
-           tmp[key] = deepClone(obj[key])
 
-         } else {
 
-           /* 如果是基本数据类型  可以直接赋值 */
 
-           tmp[key] = obj[key]
 
-         }
 
-       }
 
-       return tmp
 
-     }
 
-     var a = deepClone(person)
 
-     a.school.num = 200
 
-     console.log(a)
 
-     console.log(person)
 
-   </script>
 
- </body>
 
- </html>
 
 
  |