JS數組的concat、push等方法,操作的是地址指針,而非內存塊操作


        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] );

  

  可以看到,數組的concat方法並沒有在內存中重新開辟區域存數組a的三個對象,僅僅是指向a里三個對象的指針,數組的大多數原生方法都是如此,操作地址指針。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM