Maison > Questions et réponses > le corps du texte
<!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>
習慣沉默2017-05-18 11:00:48
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.🎜Le
Et lorsque le paramètre de chaîne est nul, NaN est également renvoyé. Alorsnumber1
à ce moment est NaN. 🎜
if...else...
suivant n'apporte aucune modification au numéro1
. Alors number1
est toujours NaN. while(number1 == -1)
évidemment, la boucle continuera lorsque la valeur de number1
est -1. do... while
ne s'exécute qu'une seule fois et se termine. 🎜