理解JavaScript字符串的不可变性
在 JavaScript 中,
字符串
的值是
不可变的
,这意味着一旦字符串被创建就不能被改变。
例如,下面的代码:
var myStr = "Bob";
myStr[0] = "J";
是不会把变量
myStr
的值改变成 "Job" 的,因为变量
myStr
是不可变的。注意,这
并不
意味着
myStr
永远不能被改变,只是字符串字面量
string literal
的各个字符不能被改变。改变
myStr
中的唯一方法是重新给它赋一个值,就像这样:
var myStr = "Bob";
myStr = "Job";
JavaScript 使用索引修改数组中的数据
与字符串的数据不可变不同,数组的数据是可变的,并且可以自由地改变。
例如
var ourArray = [3,2,1];
ourArray[0] = 1; // ourArray等于 [1,2,1]