账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js 数组赋值问题 :值传递还是引用?
    19
    -1

    题目描述

    var a = [1,2,3];
    var b = a;
    a = [4,5,6];
    alert(b);  //[1,2,3]
    
    
    var a = [1,2,3];
    var b = a;
    a.pop();
    alert(b);  //[1,2]
    //第一个我懂 第二个我不懂

    题目来源

    知乎


    这是一个人回答的
    a = [4,5,6];//改变的是a引用本身,没有改变数组对象
    a.pop();//改变的是数组对象,a引用没有改变。
    b = a;//该操作后,b直接指向数组对象,不是b指向a,a再指向数组。
    //所以改变a引用并不会对b引用造成影响,改变数组对象可以
    

    但是我觉得说不通啊 我觉得应该是 这个执行顺序啊 但是从结果看 我是错的~~

    a = [4,5,6];//改变的是a引用本身,没有改变数组对象
    b = a; // 这边还是指向引用
    a.pop();
    

    早上在知乎翻到的 看了他们的答案还是有点蒙蔽 有点蒙蔽 大佬能不能简明扼要的解答下
    我有点菜 望不吝赐教

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • -1
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部