1 回答
TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊
首先,打錯(cuò)字了,應(yīng)該是“雷一個(gè)”應(yīng)該為“另一個(gè)”,“穿件”應(yīng)該是“創(chuàng)建”。
這段話,他描述時(shí)候講的不是很清楚,其實(shí)他這里所有的描述都是建立在內(nèi)存空間的基礎(chǔ)上面講的,也就是說(shuō):
先開(kāi)辟一個(gè)10個(gè)字符的新內(nèi)存空間
將原來(lái)
lang值內(nèi)存空間和'script'字符串內(nèi)存空間對(duì)應(yīng)填入到這個(gè)10字符的內(nèi)存空間中把原來(lái)存儲(chǔ)
lang和'script'字符串的兩個(gè)空間銷(xiāo)毀把新開(kāi)辟的10字符并且填充完畢的空間分配給變量
lang在JS里,字符串的內(nèi)存空間,一旦創(chuàng)建出來(lái)就不能直接修改,如果需要改變變量的值,得先把原來(lái)分配的內(nèi)存空間銷(xiāo)毀,重新分配內(nèi)存空間并用新的值填充。
所以,他對(duì)于代碼的解說(shuō),是指
var lang = 'java'這創(chuàng)建了一個(gè)字符串值,這個(gè)值對(duì)應(yīng)的內(nèi)存空間無(wú)法改變,lang = lang + 'script'這里重新賦值時(shí)候的操作是:如果你理解的時(shí)候是基于你所能看到的表象的話(例如字符串變量之類(lèi)的),那你一定是被作者的過(guò)度省略給坑了。
添加回答
舉報(bào)
