Heim > Fragen und Antworten > Hauptteil
JS-String-Datentyp, was bedeutet dieser Ausdruck? Habe nicht viel verstanden.
大家讲道理2017-06-30 09:54:31
首先,打错字了,应该是“雷一个”应该为“另一个”,“穿件”应该是“创建”。
这段话,他描述时候讲的不是很清楚,其实他这里所有的描述都是建立在内存空间的基础上面讲的,也就是说:
在JS里,字符串的内存空间,一旦创建出来就不能直接修改,如果需要改变变量的值,得先把原来分配的内存空间销毁,重新分配内存空间并用新的值填充。
所以,他对于代码的解说,是指var lang = 'java'
这创建了一个字符串值,这个值对应的内存空间无法改变,lang = lang + 'script'
这里重新赋值时候的操作是:
先开辟一个10个字符的新内存空间
将原来lang
值内存空间和'script'
字符串内存空间对应填入到这个10字符的内存空间中
把原来存储lang
和'script'
字符串的两个空间销毁
把新开辟的10字符并且填充完毕的空间分配给变量lang
如果你理解的时候是基于你所能看到的表象的话(例如字符串变量之类的),那你一定是被作者的过度省略给坑了。