var str = "abc";
str[0]; // "a"
str[0] = "d";
str; //仍然是"abc"
字符串是immutable所以不能修改
那么请问栈中的数据可以修改吗?
比如 num=10;num=11;
更改的是栈中的数值10改为11,
还是在栈中新建了一个num=11,将原来的内存删除呢?
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
我的理解是
如果还是不明白,我就放大招了------>js原始值的秘密
共同进步。
内存分布,有堆,有栈,还有常量池。堆的空间,比栈大,堆里面一般放的是 对象 函数之类的。栈里面放声明的变量,常量池一般放些常规的字符,数。所以我补充的一点是,有些东西存放的位置跟你说的不一样。
javascript中的string类型是借鉴于Java中的string类型,一旦string的字面量被声明,就不可更改
里面有一个隐士转换