js的string数据类型,这段表述是什么意思?没怎么看懂。
业精于勤,荒于嬉;行成于思,毁于随。
首先,打错字了,应该是“雷一个”应该为“另一个”,“穿件”应该是“创建”。
这段话,他描述时候讲的不是很清楚,其实他这里所有的描述都是建立在内存空间的基础上面讲的,也就是说:
在JS里,字符串的内存空间,一旦创建出来就不能直接修改,如果需要改变变量的值,得先把原来分配的内存空间销毁,重新分配内存空间并用新的值填充。
所以,他对于代码的解说,是指var lang = 'java'这创建了一个字符串值,这个值对应的内存空间无法改变,lang = lang + 'script'这里重新赋值时候的操作是:
var lang = 'java'
lang = lang + 'script'
先开辟一个10个字符的新内存空间
将原来lang值内存空间和'script'字符串内存空间对应填入到这个10字符的内存空间中
lang
'script'
把原来存储lang和'script'字符串的两个空间销毁
把新开辟的10字符并且填充完毕的空间分配给变量lang
如果你理解的时候是基于你所能看到的表象的话(例如字符串变量之类的),那你一定是被作者的过度省略给坑了。
首先,打错字了,应该是“雷一个”应该为“另一个”,“穿件”应该是“创建”。
这段话,他描述时候讲的不是很清楚,其实他这里所有的描述都是建立在内存空间的基础上面讲的,也就是说:
在JS里,字符串的内存空间,一旦创建出来就不能直接修改,如果需要改变变量的值,得先把原来分配的内存空间销毁,重新分配内存空间并用新的值填充。
所以,他对于代码的解说,是指
var lang = 'java'
这创建了一个字符串值,这个值对应的内存空间无法改变,lang = lang + 'script'
这里重新赋值时候的操作是:先开辟一个10个字符的新内存空间
将原来
lang
值内存空间和'script'
字符串内存空间对应填入到这个10字符的内存空间中把原来存储
lang
和'script'
字符串的两个空间销毁把新开辟的10字符并且填充完毕的空间分配给变量
lang
如果你理解的时候是基于你所能看到的表象的话(例如字符串变量之类的),那你一定是被作者的过度省略给坑了。