文章阅读

沉浸阅读完整内容

写文章

基本类型和引用类型

正在统计阅读人数 正在统计字数
登录收藏0
字号 100%

        // 基本数据类型(存放在栈里面)
        let a1 = 50;
        let b1 = a1;
        a1 = 40;
        console.log("a1=", a1, "b1=", b1);

        /*     | 执行流程 |
                    1).定义变量a1赋值50
                    2).定义变量b1 把a1的50赋值给b1,此时b1=50;
                    3).对a1重新赋值,此时a1为40
                    4).执行 console.log();
                    结果为:a1= 40 ,b1= 50
        */

        //引用类型:存储在堆里面
        let c1 = [1, 2, 3, 4];
        let d1 = c1;
        c1[0] = 10; //修改数组C1下标0的值为10
        console.log(c1);
        console.log(d1);

        /*

                | 执行流程  |

                        1).定义一个数组为c1 传入数组元素[1, 2, 3, 4]
                        2).把数组C1的值赋值给d1(由于是引用类型,这里的赋值指的是地址(实体存在堆里面,栈里面存放的是一个地址,指向堆中的实体))
                        3).对数组c1的下标为0的元素进行元素修改为 10
                        4).执行 console.log()打印c1和c2;

                        结果为:C1=[10, 2, 3, 4] ,b1=[10, 2, 3, 4]
                        注:这里虽然修改了c1下标为0的数组元素,但是由于c1赋值给d1的值是地址,所以他们始终指向的是同一个实体,这里对c1的元素进行了修改,所以d1也一样会发生改变。
        */

推荐阅读

4 篇精选
文章 / 91vue ref获取dom节点 文章 / 90vue 配置自动加载sass 文章 / 92vue 全局过滤器filter 文章 / 89vue 组件通信传递参数(任意组件传递)

发表评论

评论 0

还没有评论,欢迎留下第一条讨论。

分享精彩,传递价值

生成专属海报,分享你的文章,让更多人发现好内容

浏览器不支持 Canvas,无法生成海报。

每日签到

每天来这里,记录一点持续积累。

当前积分--积分
本月签到--
本月获得--积分
正在读取