猿问

重新分配javascript对象

如果 javascript 对象是通过引用分配的,那么第二个 console.log 不应该显示 obj2 = {c:3}


let obj1 = {a:1}

let obj2 = {b:2}


obj2 = obj1

console.log(obj2) // {a:1}


obj1 = {c:3}

console.log(obj2)  // still {a:1}


UYOU
浏览 177回答 2
2回答

繁华开满天机

所以首先你有这个(两个引用都指向同一个对象):obj1&nbsp;=>&nbsp;{a:1}&nbsp;<=&nbsp;obj2当你这样做时obj1 = {c:3},你会做两件事:切断连接&nbsp;obj1 =x=> {a:1}创建新连接&nbsp;obj1 => {c:3}请注意 obj2 没有改变(仍然指向同一件事):&nbsp;obj2 => {a:1}所以console.log(obj2)应该仍然是 ={a:1}

杨__羊羊

简而言之,变量引用改变了,但内存地址没有改变:
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答