javascript - Pourquoi cela ne boucle-t-il qu'une seule fois?
阿神
阿神 2017-05-18 10:58:48
0
1
618
<!DOCTYPE html>
<html>
<head>
    <title>乘法表</title>
    <meta charset="utf-8">
    <script type="text/javascript">
        function multiX(x) {
            var str = "";
            for (var i = 1; i <=9; i++) {
                document.write(x+" * "+i+" = "+x*i+"</br>")
            }
        }
        var number1;
        do{
            number1 = parseFloat(prompt("please input a number",""));
            if (!isNaN(number1)) {
                multiX(number1);
            } else {
                alert("please input a number");
                continue;}
        } while (number1 == -1)
    </script>
</head>
<body>

</body>
</html>
阿神
阿神

闭关修行中......

répondre à tous(1)
習慣沉默

Tout d'abord, la fonction prompt() renvoie une valeur. Cliquez sur Annuler pour renvoyer null, puis cliquez sur OK pour renvoyer les informations de chaîne. Ensuite, les valeurs possibles de number1 sont null ou une chaîne.
Ensuite, parseFloat() analyse un paramètre de chaîne et renvoie un nombre à virgule flottante. prompt()函数返回值,点取消返回null,点确定返回字符串信息。那么number1可能的值是null或是字符串。
然后,parseFloat()的作用是解析一个字符串参数并返回一个浮点数。

如果参数字符串的第一个字符不能被解析成为数字,则parseFloat返回NaN.
并且当字符串参数为null的时候,返回的也是NaN。那么此时的number1为NaN。

接下来的if...else...没有对number1进行任何改变。那么number1依然是NaN。
到了判断循环条件,while(number1 == -1)显然是当number1值为-1的时候循环才继续。
可见循环条件并不符合,所以do...while

Si le premier caractère de la chaîne de paramètres ne peut pas être analysé en nombre, parseFloat renvoie NaN.
Et lorsque le paramètre de chaîne est nul, NaN est également renvoyé. Alors number1 à ce moment est NaN. 🎜
🎜Le if...else... suivant n'apporte aucune modification au numéro1. Alors number1 est toujours NaN.
Quand il s'agit de juger la condition de la boucle, while(number1 == -1) évidemment, la boucle continuera lorsque la valeur de number1 est -1.
On peut voir que les conditions de la boucle ne sont pas remplies, donc la boucle do... while ne s'exécute qu'une seule fois et se termine. 🎜
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal