JS基础_基本数据类型和引用数据类型

2021-05-23 20:29

阅读:719

标签:++   gif   asc   false   存在   影响   类型   fine   比较   

 1 DOCTYPE html>
 2 html>
 3     head>
 4         meta charset="UTF-8">
 5         title>title>
 6         script type="text/javascript">
 7             
 8             /*
 9              * 基本数据类型
10              *     String Number Boolean Null Undefined
11              * 
12              * 引用数据类型
13              *     Object
14              * 
15              * JS中的变量都是保存到栈内存中的,
16              *         基本数据类型的值直接在栈内存中存储,
17              *         值与值之间是独立存在,修改一个变量不会影响其他的变量
18              * 
19              *         对象是保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟出一个新的空间,
20              *         而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,
21              *         当一个通过一个变量修改属性时,另一个也会受到影响
22              * 
23              */
24             
25             //------------------------------------------------------------------------------------------
26             
27             var a = 123;
28             var b = a;
29             a++;
30             
31             console.log(a);//124
32             console.log(b);//123
33             
34             //--------------------------------------------------
35             
36             var obj = new Object();
37             obj.name = "孙悟空";
38             var obj2 = obj;
39             
40             //修改obj的name属性
41             obj.name = "猪八戒";
42             
43             console.log(obj.name);//猪八戒
44             console.log(obj2.name);//猪八戒
45             
46             //--------------------------------------------------
47             
48             //设置obj2为null
49             obj2 = null; 
50             
51             
52             console.log(obj);//[object Object]
53             console.log(obj2);//null
54             
55             obj = null;
56             console.log(obj);//null
57             
58             //--------------------------------------------------
59             
60             var c = 10;
61             var d = 10;
62             console.log(c == d);//true
63             
64             var obj3 = new Object();
65             var obj4 = new Object();
66             obj3.name = "沙和尚";
67             obj4.name = "沙和尚";
68             
69             console.log(obj3);//[object Object]
70             console.log(JSON.stringify(obj3));//{"name":"沙和尚"}
71             
72             console.log(obj4);//[object Object]
73             console.log(JSON.stringify(obj4));//{"name":"沙和尚"}
74             
75             
76             /*
77              * 当比较两个基本数据类型的值时,就是比较值。
78              * 而比较两个引用数据类型时,它是比较的对象的内存地址,
79              *         如果两个对象是一摸一样的,但是地址不同,它也会返回false
80              */
81             console.log(obj3 == obj4);//false
82             
83             var obj5 = obj3;
84             console.log(obj3 == obj5);//true
85             
86             
87         script>
88     head>
89     body>
90     body>
91 html>

 

JS基础_基本数据类型和引用数据类型

标签:++   gif   asc   false   存在   影响   类型   fine   比较   

原文地址:http://www.cnblogs.com/ZHOUVIP/p/7683800.html


评论


亲,登录后才可以留言!