var a = [{x:1}, {y:1}, {z:3}];
        var b = a.concat(['gg', 'ff']);
        var c = [];
        c.push(a[1]);
        console.log(a[1] === b[1]);
        console.log('--------');
        console.log( c[0]=== a[1] );

  JS数组的concat、push等方法,操作的是地址指针,而非内存块操作

  可以看到,数组的concat方法并没有在内存中重新开辟区域存数组a的三个对象,仅仅是指向a里三个对象的指针,数组的大多数原生方法都是如此,操作地址指针。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-19
  • 2022-12-23
  • 2021-12-26
  • 2022-12-23
  • 2021-07-28
  • 2021-12-29
相关资源
相似解决方案