Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中的Do while循环在不满足条件时停止循环_Javascript_Do While - Fatal编程技术网

JavaScript中的Do while循环在不满足条件时停止循环

JavaScript中的Do while循环在不满足条件时停止循环,javascript,do-while,Javascript,Do While,我写了一个do-while循环,但即使不满足条件,它也不会继续循环。在一个名为quotes的数组中,我将输入数字与该数组的长度进行比较,以确保它只修改已经存在的元素。即使我添加了一个更高的数字,它也只是将其添加到该数组元素中 function modifyQuote(){ 'use strict' var modifyQuoteNum = 0 do{ var inputModify = prompt("what quote do you want to

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

看来你的情况不对

即使条件不满足,它也不会保持循环

这就是
while
循环的工作方式:它们仅在满足条件时保持循环


修复非常简单,所以作为练习,我将让您了解它是什么。

好的,我明白您的意思。
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);

    }