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

Posted 星辰郎周

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS基础_基本数据类型和引用数据类型相关的知识,希望对你有一定的参考价值。

 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基础_基本数据类型和引用数据类型的主要内容,如果未能解决你的问题,请参考以下文章

js基础之基本数据类型

js数据类型

前端基础面试题(JS部分)

JS的数据类型

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

06_Java基础语法_第6天(自定义类ArrayList集合)_讲义