繁体   English   中英

else return 语句隐藏 else if return 语句

[英]else return statement is shadowing else if return statement

我的第一个语句工作正常,但它掩盖了下面的 else if 语句并且只是重复,也许是因为参数相同? 我似乎无法弄清楚为什么,因为我使用了分号并正确地将条件括起来。 我很想对任何人提出的解决方案进行解释!

function sayHiToGrandma(string) {
    if (string.toLowerCase() === 'hello') {
        return "I can't hear you!";
    }
    else if (string.toUpperCase() === 'HELLO') {
        return "YES INDEED!";
    }
}

在这种情况下,如果您的字符串是 hello 像任何组合 HEllo 或任何与小 h,e,l,l,o 和 H,E,L,L,O 的组合在您的 if 语句中,您将得到小写的 hello,因此它满足if so 它将执行 if 并忽略所有剩余的条件这就是为什么只有我听不到你会被返回但它不会进入 else if 条件

试试这个: http : //www.w3schools.com/jsref/jsref_if.asp if 和 else if 条件相同,只有 if 才会执行,否则 else if

NVM 我发现了。 我没有实际使用“字符串”,而是使用了这样的字符串参数,

function sayHiToGrandma(string) {
  if (string === string.toLowerCase()) {
    return "I can't hear you!";
}
else if (string === string.toUpperCase()) {
    return "YES INDEED!";
} else if ('I love you, Grandma.') {
  return 'I love you, too.'
}

etc.etc.etc.etc 感谢您的评论

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM