我正在尝试在while
声明的do ... while
部分中使用两个条件。
以下代码有效:
do {
var longitud = parseInt(prompt("increase longitude of array"));
} while (isNaN(longitud));
以下也有效:
do {
var longitud = parseInt(prompt("increase longitude of array"));
} while (longitud < 2);
但是当我想要将它们合并时,它不起作用:
do {
var longitud = parseInt(prompt("increase longitude of array"));
} while (longitud < 2 && isNaN(longitud));
问题不在于括号;我测试了所有可能的组合,没有任何反应 那么,如何在同一时间对两个表达式进行分组?
答案 0 :(得分:0)
也许你真的想要一个“或”而不是“和”? (因此请将&&
替换为||
)。
经度不可能小于2,而不是数字。因此,当 为真时,您可能希望继续循环。
你也想要扭转这两个 - 如isNaN(longitud) || longitud < 2
。如果经度不是数字,那么你首先要检查它。
答案 1 :(得分:0)
我相信你问题的答案就在你的声明中。没有任何事情发生,因为while语句永远不会发现纵向&lt; 2和isNAN同时。 更改为此并尝试:
do{
var longitud = parseInt(prompt("ingrese longitud del array"));
}while(isNaN(longitud) || longitud < 2);
在您的代码中,您正在检查经度是否为&lt; 2 AND isNAN。您希望它在经度小于2或isNAN时循环。
编辑:添加了Katanas的答案,解释说它应首先检查isNAN。