自学内容网 自学内容网

js数据类型概念(内存中的存储)通过案例来理解

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

基本数据类型:number:数字型   string:字符串型   boolean:布尔型   undefind:未定义 

null:空     symbol型    NaN:不是数字

引用数据类型:数组:Array    函数:Function    对象:Object

 数据类型大致可以分成两类来进行存储

第一题:

代码:

        let a={
            name:'张三',
            age:18
        }
        let b=a
        console.log(a.name);//第一个console
        b.name='tom';
        console.log(a.name);//第二个console
        console.log(b.name);//第三个console

请问这三个console.log分别输出的是什么?

答案:

为什么改变了b.name后,a也会改变呢,因为他们指向同一个内存地址,一个改变都会改变

第二题:

        let a={
            name:'张三',
            age:18
        }
        function change(o){
            o.age=24;
            o={
                name:'cat',
                age:26
            }
            return o;
        }
        let b=change(a)
        console.log(b.age);//第一个console
        console.log(b);//第二个console
        console.log(a.age);//第三个console
        console.log(a);//第四个console
       

结果为;

这里的function和return带来了不一样的东西,函数传参进来的o,传递的是对象在堆中的内存地址,return把o变成了另一个内存地址,就不在a所在的堆地址了,只有前面的o.age=24会作用给a


原文地址:https://blog.csdn.net/yyyyyyysc/article/details/143951785

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!