當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS:js 数组赋值问题 :值传递还是引用?
生活随笔
收集整理的這篇文章主要介紹了
JS:js 数组赋值问题 :值传递还是引用?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載于知乎var a = [1,2,3];
var b = a;
a = [4,5,6];
alert(b); //[1,2,3]
面試時被問到這樣一個問題,竟然從來沒試過... 當時直接的理解,數組是引用類型,應該是傳遞的是引用,so b也是[4,5,6],于是錯了。js數組傳遞是跟基本類型一樣創建副本嗎?
我又做了如下測試:
這樣好像又是引用傳遞了? 暈了
?
答案:
a = [4,5,6];//改變的是a引用本身,沒有改變數組對象 a.pop();//改變的是數組對象,a引用沒有改變。 b = a;//該操作后,b直接指向數組對象,不是b指向a,a再指向數組。 //所以改變a引用并不會對b引用造成影響,改變數組對象可以。
作者:Intopass
鏈接:https://www.zhihu.com/question/26042362/answer/31903017
來源:知乎
著作權歸作者所有,轉載請聯系作者獲得授權。
?
總結
以上是生活随笔為你收集整理的JS:js 数组赋值问题 :值传递还是引用?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金三银四!你想好转行产品经理了吗?
- 下一篇: gradle idea java ssm