1 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊
當(dāng)你這樣做時(shí)
var newCols=cols[1]
您本質(zhì)上是引用cols[1]
當(dāng)前持有的值,并且newCols
也指向它。例如cols[1]
,當(dāng)前'blue'
字符串位于內(nèi)存位置#5432。然后所做的也newCols=cols[1]
指向newCols
#5432。
該數(shù)組cols
也是對(duì)內(nèi)存位置的引用的數(shù)組。所以['red', 'blue', 'green']
可以認(rèn)為是[#987, #5432, #123]
. 重新分配其中一個(gè)索引會(huì)在該位置放置一個(gè)新的引用。之后cols[1] = "pink"
,你可以認(rèn)為cols
是現(xiàn)在包含[#987, #333, #123]
。
#5432
- -處的原始項(xiàng)目'pink'
不受影響。newCols
,它指向#5432,仍然指向'pink'
.
當(dāng)你這樣做時(shí)
var newCols=cols
整個(gè)數(shù)組容器由兩個(gè)變量指向。例如,cols
和 都newCols
指向#55555。因此,改變其中一個(gè)會(huì)導(dǎo)致另一個(gè)也發(fā)生變化。
(“內(nèi)存位置”是一種有用的可視化,但它不一定不是事物在幕后工作的方式 - 這只是一種簡(jiǎn)單的思考方式)
添加回答
舉報(bào)