登陆

javascript - js的string数据类型,这段表述是什么意思?

js的string数据类型,这段表述是什么意思?没怎么看懂。

# JavaScript
迷茫迷茫1579 天前315 次浏览

全部回复(1)我要回复

  • 大家讲道理

    大家讲道理2017-06-30 09:54:31

    • 首先,打错字了,应该是“雷一个”应该为“另一个”,“穿件”应该是“创建”。

    • 这段话,他描述时候讲的不是很清楚,其实他这里所有的描述都是建立在内存空间的基础上面讲的,也就是说:

      • 在JS里,字符串的内存空间,一旦创建出来就不能直接修改,如果需要改变变量的值,得先把原来分配的内存空间销毁,重新分配内存空间并用新的值填充。

      • 所以,他对于代码的解说,是指var lang = 'java'这创建了一个字符串值,这个值对应的内存空间无法改变,lang = lang + 'script'这里重新赋值时候的操作是:

        • 先开辟一个10个字符的新内存空间

        • 将原来lang值内存空间和'script'字符串内存空间对应填入到这个10字符的内存空间中

        • 把原来存储lang'script'字符串的两个空间销毁

        • 把新开辟的10字符并且填充完毕的空间分配给变量lang

    • 如果你理解的时候是基于你所能看到的表象的话(例如字符串变量之类的),那你一定是被作者的过度省略给坑了。

    回复
    0
  • 取消回复发送