Javascript 我在一个简单的JS程序中犯了一个错误,但我不知道';我不知道为什么';这是不对的

Javascript 我在一个简单的JS程序中犯了一个错误,但我不知道';我不知道为什么';这是不对的,javascript,Javascript,该程序应获取字符串并在控制台中以相反的方式打印: var string = "squirrels"; reverseString = ""; for (var i = 0; i < string.length; i++) { reverseString[i] = string[string.length - 1 - i]; } console.log(reverseString); 那么代码就可以正常工作了——但是原始代码有什么问题吗?问题在于字符串不是单个字符的总和。它仍然是类似于数组

该程序应获取字符串并在控制台中以相反的方式打印:

var string = "squirrels";
reverseString = "";
for (var i = 0; i < string.length; i++) {
reverseString[i] = string[string.length - 1 - i];
}
console.log(reverseString);

那么代码就可以正常工作了——但是原始代码有什么问题吗?

问题在于字符串不是单个字符的总和。它仍然是类似于数组的对象,这意味着您可以通过索引读取其字符,但不能通过在索引指定的位置更改字符来更改字符串


这就是阵列工作的原因。您也可以使用串联代替。

错误在于字符串不是单个字符的总和。它仍然是类似于数组的对象,这意味着您可以通过索引读取其字符,但不能通过在索引指定的位置更改字符来更改字符串


这就是阵列工作的原因。您也可以使用串联代替。

使用
reverseestring+=string[string.length-1-i]字符串是不可变的。use
reverseString+=string[string.length-1-i]字符串是不可变的。
console.log(reverseString.join(""));