js中字符串的长度是不固定的,为什么教程里说,js中字符串是栈区存储的?

2024-11-23 00:44:47
推荐回答(2个)
回答1:

它是这个意思只要是你定义一个字符串就分配给你一定的栈空间,就好象U盘4个G你可以装2个G也可以装4G。所以给你分配的栈空间是固定的,字符串长短没关系。

回答2:

事实上,与Java一样,JavaScript中的字符串也是“固定”、“不可变”的,一个基本类型的字符串一旦被创建,便不可再改变。

var str = 'abcd';
str += 'efg';
// 此时str值为“abcdef”,但与原来的值为“abcd”的str,已经不是同一个字符串