字符串的特点
ECMAScript中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变
例如:
var lang = "Java";
lang = lang + ‘Script‘;
我是这样理解这个过程的:
当执行 var lang = "Java",会申请一片内存,这个内存里保存的就是字符串Java,并把这片内存的地址赋值给变量 lang
当执行 lang = lang + ‘Script‘,会再申请一片新的内存用来存放字符串 ‘Script‘ ,然后再申请一片新的内存用来存放 lang + ‘Script’ 的计算结果,并把存放计算结果的那片内存地址赋值给变量 lang
所以字符串不可变,指的是一旦你申请了一片内存用来存放字符串后,从此以后那片内存地址上的内容你是无法修改的
lang = lang + ‘Script‘ 容易误以为是这样的,误以为字符串的修改就是在原来那片内存上进行替换操作