有关字符串的操作,都是保持原型的。在每次操作完会自动生成一个新的变量。
比如:
var s = "hello"//这里申请内存,并保存数据hello,并把内存地址赋给s
s.toUpperCase()//生成一个新的数据HELLO,并申请内存保存之
s = s.ToUpperCase() //同上,多了一步:把新的内存地址赋给s,此时s的值就是HELLO了。
所谓的“原始值是不可更改”,就是原始值对应的内存数据没有发生变化,变化的是重新申请的内存空间的数据。
有关字符串的操作,都是保持原型的。在每次操作完会自动生成一个新的变量。
比如:
var s = "hello"//这里申请内存,并保存数据hello,并把内存地址赋给s
s.toUpperCase()//生成一个新的数据HELLO,并申请内存保存之
s = s.ToUpperCase() //同上,多了一步:把新的内存地址赋给s,此时s的值就是HELLO了。
所谓的“原始值是不可更改”,就是原始值对应的内存数据没有发生变化,变化的是重新申请的内存空间的数据。