为什么我的函数返回undefined和反向字符串

时间:2015-01-22 22:19:47

标签: javascript

为什么我的function返回undefined以及反向字符串

function revString(str)
{
    var a,c;
    a=str.length-1;

    while(a>=0)
    {
       c = c + str[a];
       a--; 
    }
  return c;
}
console.log(revString("Google"));

我不确定它在哪里破碎。我知道同一个问题有很多答案,但我只是想了解这里发生的错误。

以下是小提琴 http://jsfiddle.net/c94fq78v/2/

3 个答案:

答案 0 :(得分:2)

您没有在功能开始时将c分配给任何内容,因此它将启动undefined。你只需要给它一个初始值:

function revString(str)
{
    var a,c='';
    a=str.length-1;

    while(a>=0)
    {
       c = c + str[a];
       a--; 
    }
  return c;
}
console.log(revString("Google"));

答案 1 :(得分:1)

当你开始循环时cundefined。您需要将其初始化为空字符串。

如果将undefined添加到第一个字符会将undefined转换为字符串"undefined"

答案 2 :(得分:0)

您需要初始化c变量