为什么console.log Javascript时reverseString打印未定义

时间:2018-07-22 00:23:20

标签: javascript

我正在尝试反转字符串,但是当我在chrome控制台中进行console.log时,我将得到如下值:

function reverseString(str) {
  let newString = "";
  for (let i = str.length; i + 1 > 0; i--) {
    newString = newString + str[i];
  }
  return (newString);
}

console.log(reverseString("hello there"));

为什么在反向字符串前面没有未定义?

1 个答案:

答案 0 :(得分:1)

您从i的{​​{1}}开始。在第一次迭代中,str.length解析为str[i],但是字符串是零索引的,而不是单索引的,因此始终是str[str.length]。从undefined开始:

str.length - 1