javascript - 即使条件成立,else if 语句之一也不会执行

标签 javascript if-statement

每当我写一个超过 6 个字母的名字时,它仍然会打印

that isn't a very long name

而不是

that's such a long name

我知道这一定是一个基本问题,而且可能非常简单,但我就是无法让它发挥作用。我将不胜感激任何有关它为何无法按预期执行的想法。

let myName = prompt('What is your name?');

if (myName.length <= 3) {
  document.write('That is such a short name!');
}
else if (3 < myName.length < 6) {
  document.write('That isn\'t a very long name');
}
else if (myName.length >= 6) {
  document.write('That\'s such a long name!');
} 
else {
  document.write('Nop');
}

最佳答案

你的一个表达方式并没有按照你想象的那样进行。

else if (3 < myName.length < 6) {

两者3 < myName.lengthmyName.length < 6评估为真,所以他们几乎总是会被击中。

要检查多个条件,您需要一个“and”运算符,即 &&在 JavaScript 中

else if (myName.length > 3 && myName.length < 6) {

请注意我们如何翻转表达式,以便 myName.length永远是第一。这使得朗读更容易

if myName.length is greater than 3 and myName.length is less than 6...

关于javascript - 即使条件成立,else if 语句之一也不会执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47025273/

相关文章:

javascript - 用于排除嵌套后代的 jquery 选择器是什么?

javascript - 递归函数 vs setInterval vs setTimeout javascript

python - (Python 3) 输出问题

if-statement - Lua if A != (X or Y or Z)?

java - 同步方法中的等待与不等待 (java)

JavaScript - 数字是否有序 Kata

javascript - 如何对再次保存对象数组的对象数组进行排序

C 程序 Switch 和 If 语句

javascript - 如何在 HTML 文件中为外部 SVG 文件制作动画?

c# - 使用 if 语句时,绑定(bind)列表在 post 中给出空结果