js 對象 函數(shù)中 按值傳遞

var a = {name:"a"}

var b = {name:"b"}

function changeObj(obj){
obj = b;
}
changeObj(a)

console.log(a) //{name:"a"}

以上代碼中,兩個(gè)對象a,b ,然后 對 a 進(jìn)行 函數(shù)操作,如果是引用傳遞的話,就相當(dāng)于 a=b, console.log(a)的結(jié)果應(yīng)該是{name:"b"}。但是結(jié)果并非如此。

比較簡單理解是,上面代碼中 a 和 函數(shù)中obj 都是指向同一個(gè)實(shí)例{name:"a"},但是 obj 是 a 的引用副本。函數(shù)中只是改了a 引用副本 obj的指向,并沒有改變a的指向。所以a還是指向{name:"a"}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 單例模式 適用場景:可能會(huì)在場景中使用到對象,但只有一個(gè)實(shí)例,加載時(shí)并不主動(dòng)創(chuàng)建,需要時(shí)才創(chuàng)建 最常見的單例模式,...
    Obeing閱讀 2,315評論 1 10
  • (一)函數(shù) 1.函數(shù)基本聲明 function fun([參數(shù)1],[參數(shù)2],...){ 函數(shù)體; }; 2....
    妖妖靈嘛0閱讀 402評論 0 0
  • 一、你不知道的JavaScript 1、作用域 作用域 LHS RHS RHS查詢與簡單地查找某個(gè)變量的值別無二...
    頂兒響叮當(dāng)閱讀 398評論 0 0
  • 1、使用typeof bar ===“object”來確定bar是否是一個(gè)對象時(shí)有什么潛在的缺陷?這個(gè)陷阱如何避免...
    我是大橙閱讀 635評論 0 1
  • 1、使用typeof bar ===“object”來確定bar是否是一個(gè)對象時(shí)有什么潛在的缺陷?這個(gè)陷阱如何避免...
    深海鯽魚堡閱讀 745評論 1 1

友情鏈接更多精彩內(nèi)容