• 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>
  • 相关阅读:
    秋意浓浓回成都2月杂记
    验证表单的js代码段
    C#算法小程序(1)
    C#数据结构之单向链表
    Excel VBA编程的常用代码
    我的漫漫系分路
    2007年下半年系统分析师上午试卷及参考答案
    「2014年間休日カレンダー」のご案内
    Eclipse的几点使用技巧
    沧海一粟小组(第一次作业)
  • 原文地址:https://www.cnblogs.com/ZHOUVIP/p/7683800.html
Copyright © 2020-2023  润新知