Javascript 将字符串修改为数组
我不明白为什么我的Javascript 将字符串修改为数组,javascript,arrays,string,Javascript,Arrays,String,我不明白为什么我的word[1]返回的是a而不是I,你能帮我理解吗 var word = 'tangle'; document.write(word[1]); //returns 'a' word[1] = 'i'; document.write(word[1]); //returns 'a' (事实是,我想这样做,我的方法错了吗?) //以大写形式转换字符串中每个单词的第一个字母 var string=‘敏捷的棕色狐狸’; stringSpl=string.split(“”); for(va
word[1]
返回的是a
而不是I
,你能帮我理解吗
var word = 'tangle';
document.write(word[1]); //returns 'a'
word[1] = 'i';
document.write(word[1]); //returns 'a'
(事实是,我想这样做,我的方法错了吗?)
//以大写形式转换字符串中每个单词的第一个字母
var string=‘敏捷的棕色狐狸’;
stringSpl=string.split(“”);
for(var j=0;j字符串在Javascript中是不可变的
在JavaScript中,字符串是不可变的对象,这意味着字符串中的字符可能不会更改,对字符串的任何操作实际上都会创建新字符串。字符串是通过引用而不是通过值分配的。通常,当对象是通过引用分配的时,通过一个引用对对象所做的更改将通过gh对该对象的所有其他引用。但是,由于字符串无法更改,因此可以对字符串对象进行多个引用,而不用担心字符串值会在您不知道的情况下更改
来源:David Flanagan,在他的书“”(ISBN:978-0613911887)中。String
s不是Array
s,但可以使用索引器语法(类似于Array
s)从中获取字符
但是,不能使用相同的语法设置元素
使用String.prototype.split
从JavaScript中的字符串创建数组
字符串是不可变的;您必须创建一个修改过的副本,而不是修改它们
请注意,word.charAt(1)
只是word.charAt(1)
的语法糖;正如您不希望word.charAt(1)=…
修改word.charAt(1)
返回的字符(因为它不是通过引用返回的),您也不能期望word.charAt(1)=…
这样做
例如,您可以编写如下内容:
var string = 'the quick brown fox';
var titleCasedString =
string.replace(/(^| )( )/g, function ($0, $1, $2) {
return $1 + $2.toUpperCase();
});
document.write(titleCasedString); // writes 'The Quick Brown Fox'
(使用)。引用你的来源。这篇文章是谁写的?用来源编辑答案。
var string = 'the quick brown fox';
var titleCasedString =
string.replace(/(^| )( )/g, function ($0, $1, $2) {
return $1 + $2.toUpperCase();
});
document.write(titleCasedString); // writes 'The Quick Brown Fox'