9.深拷贝.html 885 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. let person = {
  11. name: "图图",
  12. aa: new Date()
  13. }
  14. function deepClone(obj) {
  15. if (obj instanceof Date) {
  16. return new Date(obj);
  17. }
  18. if (typeof obj == 'object' && obj != null) {
  19. let obj1 = Array.isArray(obj) ? [] : {};
  20. for (let k in obj) {
  21. obj1[k] = deepClone(obj[k])
  22. }
  23. return obj1;
  24. }
  25. return obj;
  26. }
  27. let news = deepClone(person);
  28. news.aa.setFullYear(2000);
  29. console.log(news, 'news');
  30. console.log(person, 'person');
  31. </script>
  32. </body>
  33. </html>