9_深拷贝2.html 753 B

12345678910111213141516171819202122232425262728293031323334
  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. function deepClone(data){
  12. var tmp = {}
  13. if( typeof data == 'object'){
  14. tmp = Array.isArray(data) ? [] : {}
  15. for(key in data){
  16. if(typeof data == 'object'){
  17. tmp[key] == deepClone(data[key])
  18. } else {
  19. tmp[key] = data[key]
  20. }
  21. }
  22. } else {
  23. tmp = data
  24. }
  25. return tmp
  26. }
  27. var a = ['lisi',18]
  28. var b = deepClone(a)
  29. b[0]='zs'
  30. console.log(b)
  31. console.log(a)
  32. </script>
  33. </body>
  34. </html>