JavaScript基础知识-基本数据类型和引用数据类型

           JavaScript基础知识-基本数据类型和引用数据类型

                                          作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.JavaScript源代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>基本数据类型和引用数据类型</title>
    </head>
    
    <script type="text/javascript">
        /**
         *     基本数据类型:
         *         String(字符串)
         *         Number(数值)
              *         Boolean(布尔值)
         *      Null(空值)
         *         Undefined(未定义)
         * 
         *    引用数据类型:
         *        Object(对象)
         * 
         *     JS中的变量都是保存到栈内存中的,只不过引用数据类型和基本数据类型对应的值有所区别:
         *         基本数据类型的值直接在栈内存中存储,值与值之间是独立存在的,修改一个变量不会影响其它的变量;
         *         引用数据类型(对象)是保存在堆内存中的,每创建一个新的对象就会在堆内存中开辟一个新的空间,而变量保存的是对象的内存地址(对象的引用);
         * 
         */
        a = 2020;
        b = a;
        console.log(a);
        console.log(b);
        
        //对基本数据类型进行修改
        a = a + 100;
        console.log(a);
        console.log(b);


        var obj1  = new Object();
        obj1.name = "尹正杰";
        var obj2  = obj1;
        console.log(obj1.name);
        console.log(obj2.name);
 
         //对引用数据类型进行修改
        obj2.name = "Jason Yin";
        console.log(obj1.name);
        console.log(obj2.name);
 
         //将obj1的引用地址设置为null,并不会影响到obj2
         obj1 = null;
         console.log(obj1);
        console.log(obj2);
        
        var x = 100,y=100;
        
        /**
         *     当比较两个基本数据类型时,就是比较值
         */
        console.log(x == y);
        
        var obj3 = new Object(),obj4 = new Object();
        obj3.name = "齐天大圣孙悟空";
        obj4.name = "齐天大圣孙悟空";
        
        /**
         *    当比较两个引用数据类型时,它们比较的是对象的内存地址,也就是说,两个对象存储的数据是一样的,但它们的内存地址不同,返回的依旧是flase。
         */
        console.log(obj3 == obj4);
        
    </script>
    <body>
    </body>
</html>

二.浏览器打开以上代码渲染结果

原文地址:https://www.cnblogs.com/yinzhengjie/p/12164672.html