<!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>
首先,
prompt()
函数返回值,点取消返回null
,点确定返回字符串信息。那么number1
可能的值是null
或是字符串。然后,
parseFloat()
的作用是解析一个字符串参数并返回一个浮点数。接下来的
if...else...
没有对number1
进行任何改变。那么number1
依然是NaN。到了判断循环条件,
while(number1 == -1)
显然是当number1
值为-1的时候循环才继续。可见循环条件并不符合,所以
do...while
循环只进行了一次就结束了。