为什么输出“未声明”'这个JavaScript代码?

时间:2018-05-12 09:52:14

标签: javascript string

我创建了一个简单的JS方法来反转字符串。但是当我执行代码时,我在警告框中输出UndeclarednoynaCUndeclared。有人能告诉我这里我做错了吗?



function Reverse(str) {
    var len = str.length;
    for( var i = 0; i <= len; i++) {
        var rev = str[i] + rev;
    }
    alert(rev);
}
Reverse('Canyon');
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:3)

由于变量rev的{​​{3}},您获得了该输出。在语句undefined中使用之前,首先使用值var rev = str[i] + rev;声明变量。在var rev = ''循环之前声明for。另一点是你的循环正在执行一个额外的时间。 因此,将i <= len更改为i < len

但是你可以利用一些内置函数的优势来轻松获得输出。

您只需使用split()从字符串中获取数组即可。然后reverse()那个数组。最后join()该数组得到反向字符串。

&#13;
&#13;
function Reverse(str){
  str = str.split('').reverse().join('');
  alert(str);
}

Reverse('Canyon');
&#13;
&#13;
&#13;