为什么这个函数返回undefined?结果显然具有非空值,并且调用正在输入第一个if语句,因为它打印了所需的输出。
function Swap(str, result) {
if (str == "") {
console.log(result);
return result;
}
else if (str[0] == str.toUpperCase().substring(0,1)) {
var newResult = result + str.toLowerCase().substring(0,1);
Swap(str.replace(str[0], ""), newResult);
}
else {
var newResult = result + str.toUpperCase().substring(0,1);
Swap(str.replace(str[0], ""), newResult);
}
}
console.log(Swap("HelloW",""));
答案 0 :(得分:2)
调用Swap("HelloW", "")
将进入第二个if
案例(str
以大写字母开头),调用Swap("elloW", "h")
而不返回任何内容。你在其他两个分支上也需要return
,而不仅仅是第一个分支。