0
for (var j=0; j<2; j++){
listno=prompt("Enter Item Code","0");
listno = parseInt(listno);

if (listno > 0) {
    PRODUCT_WANT.push(PRODUCT_LIST[listno]);
    WANT_PRICE.push(PRICE_LIST[listno]);
}

else {
alert('Invalid Product Code');
}
if (quantno > 0) {
    quantno=prompt("Enter Quantity","0");
    quantno = parseInt(quantno);
    quantity.push(quantno);
}

else {
alert('Invalid Quantity');
}
}    

循环有效,但我不想设置循环计数,我希望能够将其设置为例如 999,然后能够在提示符上按取消并完成循环

4

2 回答 2

3

prompt如果按下取消,将产生 null。

你可能会做这样的事情:

while(listno = prompt("Enter Item Code", "0")) {
   ...
}

编辑. 的结果prompt将是输入提示中写入的任何内容,或者null是否按下了取消。由于在条件中使用时null将评估为false,因此您可以在 while 循环中使用它,以便在提示评估为 true 时运行一些代码,即只要输入有效数字就继续提示。

演示

于 2013-04-15T10:44:23.480 回答
0

你想要的是一个while循环:)

作为对 Davids 回答的详细说明:while 循环所做的是执行 while 循环的“主体”,直到满足条件。所以首先,你想要有一些可以评估为真或假的条件。如果条件为真,则执行while循环的“主体”,在“主体”中可以更改条件。举个例子

var i = 0;
while(i < 20)
{
    i = i+1;
}

只要 i 小于 20,以上将运行。

于 2013-04-15T10:44:33.370 回答