javascript - js的string數(shù)據(jù)類型,這段表述是什么意思?
問題描述
js的string數(shù)據(jù)類型,這段表述是什么意思?沒怎么看懂。

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

網(wǎng)公網(wǎng)安備