Javascript提示内部循环

时间:2013-04-15 10:40:08

标签: javascript loops prompt

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然后能够在提示符上按取消并完成循环

2 个答案:

答案 0 :(得分:3)

如果按下取消,

prompt将产生null。

您可能会这样做:

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

修改即可。 prompt的结果将是输入提示中写入的内容,如果按下取消,则为null。由于null在条件中使用时将评估为false,因此您可以在while循环中使用它,在提示评估为true时运行某些代码,即只要有效数字为输入

Demo

答案 1 :(得分:0)

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

作为对Davids的一个阐述回答:while循环正在做的是执行while循环的“body”,直到条件满足为止。首先,你想要一些可以评估为真或假的条件。如果条件为真,则执行while循环的“body”,并在“body”中更改条件。举个例子

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

只要i小于20,上述内容就会运行。