每当我写一个超过 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.length
和myName.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/