|
@@ -0,0 +1,55 @@
|
|
|
+<!DOCTYPE html>
|
|
|
+<html lang="en">
|
|
|
+<head>
|
|
|
+ <meta charset="UTF-8">
|
|
|
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
+ <title>Document</title>
|
|
|
+</head>
|
|
|
+<body>
|
|
|
+ <!--
|
|
|
+ JSON:JavaScript Object Notation
|
|
|
+ JS 对象 表示 数据结构;
|
|
|
+ -->
|
|
|
+ <script>
|
|
|
+ // JSON对象的形式:字符串类型 基本数据类型
|
|
|
+ var obj ='{"name":"age"}';
|
|
|
+ var str = '{"name":"abc"}';
|
|
|
+ var obj1 = '{"age":"1"}'
|
|
|
+ // 数组套对象的形式
|
|
|
+ var obj1 = '[{"name":"1"}]'
|
|
|
+ // 注意:在JSON中属性名和属性值必须输双引号引起来 最外面是单引号;
|
|
|
+ console.log(obj,'1')
|
|
|
+ // JSON对象转成JS对象 JSON.parse()
|
|
|
+ console.log(JSON.parse(obj),'2')
|
|
|
+ var person = {
|
|
|
+ name: 'LiLi',
|
|
|
+ age: '10'
|
|
|
+ }
|
|
|
+ console.log(person,'3')
|
|
|
+ // JS对象转成JSON对象 JSON.stringify()
|
|
|
+ console.log(JSON.stringify(person),'4')
|
|
|
+ // 堆和栈
|
|
|
+ // 堆 引用数据类型(对象)
|
|
|
+ // 栈 基本数据类型 引用数据类型的指针
|
|
|
+ var news;
|
|
|
+ news = obj;
|
|
|
+ news='{"name":"aaa"}';
|
|
|
+ console.log(news,'news');
|
|
|
+ console.log(obj,'obj')
|
|
|
+ var newPerson;
|
|
|
+ newPerson = person;
|
|
|
+ newPerson.age = '18';
|
|
|
+ console.log(person,'3')
|
|
|
+ console.log(newPerson,'5')
|
|
|
+ // 深拷贝、深克隆: 将一个变量的值给另一个变量 修改其中一个的值 原有的变量不会发生改变(基本数据类型)
|
|
|
+ // 浅拷贝、浅克隆: 将一个变量的值给另一个变量 修改其中一个的值 原有的变量也会发生改变(引用数据类型)
|
|
|
+ var person1 = JSON.stringify(person);
|
|
|
+ var person2;
|
|
|
+ person2 = person1;
|
|
|
+ person2 = '{"name":"LiLi","age":"28"}';
|
|
|
+ console.log(person1,'person1')
|
|
|
+ console.log(person2,'person2')
|
|
|
+ // 实现深拷贝 将对象转成json对象 JSON.stringify()
|
|
|
+ </script>
|
|
|
+</body>
|
|
|
+</html>
|