收藏
回答

为什么会这样?

最后一次编辑于  2022-01-14
回答关注问题邀请回答
收藏

5 个回答

  • NAMELESS
    NAMELESS
    2022-01-14
        var a = [123];
        var b = a;
        b[0] = 999;
        console.log('a:', a, 'b:', b); //a: (3) [999, 2, 3] b: (3) [999, 2, 3]
    
    
        var c = [123];
        var d = [];
        Object.assign(d, c);
        c[1] = 999;
        console.log('c:', c, 'd:', d); //c: (3) [1, 999, 3] d: (3) [1, 2, 3]
    
    
        var e = [123];
        var f = e;
        console.log('e:', e, 'f:', f); //e: (3) [1, 2, 3] f: (3) [1, 2, 3]
        e = [456];
        console.log('e:', e, 'f:', f); //e: (3) [4, 5, 6] f: (3) [1, 2, 3]
    
    

    2022-01-14
    有用
    回复
  • 困难
    困难
    2022-01-14

    简单来说,引用类型,变量里储存的是存放值的地址而不是真实值,所以dd=aa也只是把真实值所在地址给了dd,大家操作的仍然是同一个地方

    2022-01-14
    有用
    回复
  • 浪花骑士
    浪花骑士
    2022-01-14

    数组是引用型对象

    2022-01-14
    有用
    回复
  • 微喵网络
    微喵网络
    2022-01-14

    js 引用和深拷贝的问题

    2022-01-14
    有用
    回复
  • xplee
    xplee
    2022-01-14

    数组是引用型对象

    2022-01-14
    有用
    回复
登录 后发表内容