7_深克隆、浅克隆.html 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <script>
  11. var person = {
  12. name:'zs',
  13. age:18
  14. }
  15. /*
  16. 浅拷贝、浅克隆: 将一个变量赋值给另一个变量 修改其中一个变量 原有的变量也随之改变(引用数据类型)
  17. 深拷贝、深克隆: 将一个变量赋值给另一个变量 修改其中一个变量 原有的变量不跟随改变(基本数据类型)
  18. */
  19. /* 将对象转化为字符串类型 */
  20. var str = JSON.stringify(person)
  21. // console.log(str)
  22. /* 将字符串转化为对象 */
  23. var obj = JSON.parse(str)
  24. // console.log(obj)
  25. obj.age = 40
  26. console.log(obj)
  27. console.log(person)
  28. /*
  29. 实现深拷贝 可以通过JSON.stringfy()先转化成字符串
  30. 然后对字符串进行一个复制 在转化为 对象 JSON.parse()
  31. */
  32. </script>
  33. </body>
  34. </html>