Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将字符串修改为数组_Javascript_Arrays_String - Fatal编程技术网

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'