我写了一个do while循环,但即使条件不满足也不会保持循环。在一个名为quotes的数组中,我将输入数字与该数组的长度进行比较,以确保它只修改已存在的元素。即使我添加了一个更高的数字,它只是将它添加到该数组元素。
function modifyQuote(){
'use strict'
var modifyQuoteNum = 0
do{
var inputModify = prompt("what quote do you want to modify?");
modifyQuoteNum = (parseInt(inputModify) - 1);
}
while ((typeof modifyQuoteNum == 'number') &&
((modifyQuoteNum + 1) <= quotes.length));
想出来,混淆了。
function modifyQuote(){
'use strict'
var inputModify = prompt("what quote do you want to modify?");
var modifyQuoteNum = (parseInt(inputModify) - 1);
while ((typeof modifyQuoteNum != 'number') ||
((modifyQuoteNum + 1) > quotes.length)){
var inputModify = prompt("what quote do you want to modify?");
var modifyQuoteNum = (parseInt(inputModify) - 1);
}
答案 0 :(得分:2)
看起来你的病情是错误的。
即使条件不满足
,它也不会保持循环
这就是while
循环的工作方式:它们只在条件 时才会保持循环。
修复很简单,所以我会让你弄明白它是什么。