js数据在内存中的存储

    //普通值(基本类型)
    var a = 1;
    var b = a;
    console.log(a, b);

    b = 2;
    console.log(a, b);

    //特殊的---对象(复杂类型)
    // var obj = {"age":40, "sex":"男"};
    // var obj2 = obj;
    // console.log(obj, obj2);

    // obj2 = {'age':30};
    // console.log(obj, obj2);
    //特殊写法
    // var obj = {"age":40, "sex":"男"};
    // var obj2 = obj;
    // console.log(obj, obj2);

    // obj2.age = 30;
    // console.log(obj, obj2); // obj 和 obj2中的age 都是30
    //说明  obj 和 obj2两个变量,存储的是一个对象,是共用的
    
    //函数参数 如果是对象
    function fn(m){
        m.age = 30;
        console.log(m);
    }

    var obj = {"age":40, "sex":"男"};
    fn(obj);
    console.log(obj); //obj.age被改为 30

传值方式:

值传递 :基本数据类型,直接将变量放在栈区的值,复制一份,传给另外一个变量。

引用传递:对象类型,将变量放在堆区的值的地址,传给另外一个变量。

js中,对象(object , array, function), 传递过程中,都使用引用传递。

posted @ 2021-02-21 21:06  华北业余选手  阅读(356)  评论(0)    收藏  举报