Javascript 在do while语句中有两个条件

Javascript 在do while语句中有两个条件,javascript,Javascript,我试图在我的执行部分的部分中使用两个条件。。。而语句 以下代码起作用: 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{

我试图在我的
执行部分的
部分中使用两个条件。。。而
语句

以下代码起作用:

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(提示(“增加数组的经度”);
}而(纵向<2);
但是,当我想将两者合并时,它不起作用:

do {
    var longitud = parseInt(prompt("increase longitude of array"));
} while (longitud < 2 && isNaN(longitud));
do{
var longitud=parseInt(提示(“增加数组的经度”);
}而(longitud<2&&isNaN(longitud));
问题不在于括号;我已经测试了所有可能的组合,但什么都没有发生。

那么,如何在同一时间内对两个表达式进行分组呢?

也许你真的想要一个“或”而不是“和”?(因此,将
&&
替换为
|

经度不可能既小于2,又不是一个数字。因此,当其中一个为真时,您可能希望继续循环


您还需要反转这两个值,如,
isNaN(longitud)| | longitud<2
。如果经度不是一个数字,那么您需要首先检查它。

我相信您的问题的答案在您的while语句中。什么也不会发生,因为while语句永远不会同时找到longitud<2和isNAN。 更改此选项,然后尝试:

do{
    var longitud = parseInt(prompt("ingrese longitud del array"));
}while(isNaN(longitud) || longitud < 2);
do{
var longitud=parseInt(提示(“入口longitud del数组”);
}而(isNaN(longitud)| | longitud<2);

在您的代码中,您正在检查经度是否为两个?将表达式放入变量中如何?是否为(isNaN(longitud)| longitud<2)?表示如果longitud无效或小于2,则继续输入定义“无任何变化”。首先,可能先测试它是否是一个数字,然后检查数字比较。首先检查你的陈述,如果这是你想要的。