当不满足条件时,JavaScript中的while循环停止循环

时间:2014-10-08 05:59:23

标签: javascript do-while

我写了一个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);

    }

1 个答案:

答案 0 :(得分:2)

看起来你的病情是错误的。

  

即使条件满足

,它也不会保持循环

这就是while循环的工作方式:它们只在条件 时才会保持循环。

修复很简单,所以我会让你弄明白它是什么。

相关问题