7_json.html 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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. // console.log(person)
  16. // /* 将对象转化成字符串类型 */
  17. // var str = JSON.stringify(person)
  18. // console.log(str)
  19. // /* 将字符串转化为对象 */
  20. // var obj = JSON.parse(str)
  21. // console.log(obj)
  22. var obj1 = {
  23. name:'zs',
  24. age: 18
  25. }
  26. // var obj2 = obj1
  27. // obj1.age = 30
  28. // console.log(obj2)
  29. // console.log(obj1)
  30. /*
  31. 浅拷贝、浅克隆: 将一个变量复制给另一个变量 修改其中一个变量
  32. 原先的变量也随之改变(引用数据类型)
  33. 深拷贝、深克隆: 将一个变量复制给另一个变量 修改其中一个变量
  34. 原先的变量不跟随改变(基本数据类型)
  35. */
  36. var tmp = JSON.stringify(obj1) //转化为字符串
  37. var obj2 = JSON.parse(tmp) //转化成对象
  38. obj2.age = 30
  39. console.log(obj1)
  40. console.log(obj2)
  41. /*
  42. 实现深拷贝 可以通过JSON.stringfy()先转化成字符串
  43. 然后对字符串进行一个复制 在转化成对象
  44. JSON.parse()
  45. */
  46. </script>
  47. </body>
  48. </html>