我创建了一个函数来演示如何反转字符串:
var reverseString = function(str) {
var reverseStr = '';
for (var i = str.length - 1; i >= 0; i--) {
reverseStr += str[i];
}
return reverseStr;
};
reverseString('javaScript'); //returns "tpircSavaj"
当我通过每一行来了解发生了什么事时,我很快就对这部分感到困惑:
for (var i = str.length - 1; i >= 0; i--)
当你从字符串中的最后一个位置开始时,不会使用str.length
更有意义。在这种情况下t
?
您从-1
与.length
开始的原因是因为当您使用j
进入.length
时,它会导致犯罪环。我可以想象它但不能恰当地表达它。
提前致谢!
答案 0 :(得分:1)
这基本上是因为字符串的第一个位置是0,基于零。我给你举个例子:
var s = 'a';
s的长度为1.但s [1]未定义。但是s [0]等于'a'。
答案 1 :(得分:0)
那是因为长度从1开始计数,但是当访问字符串第一个元素时,你需要从0开始,就像在数组中一样。