慕哥9229398
2018-11-13 13:14:57
<!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>
1 回答

MMMHUHU
TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
首先,prompt()
函數(shù)返回值,點(diǎn)取消返回null
,點(diǎn)確定返回字符串信息。那么number1
可能的值是null
或是字符串。
然后,parseFloat()
的作用是解析一個(gè)字符串參數(shù)并返回一個(gè)浮點(diǎn)數(shù)。
如果參數(shù)字符串的第一個(gè)字符不能被解析成為數(shù)字,則parseFloat返回NaN.
并且當(dāng)字符串參數(shù)為null的時(shí)候,返回的也是NaN。那么此時(shí)的number1
為NaN。
接下來的if...else...
沒有對(duì)number1
進(jìn)行任何改變。那么number1
依然是NaN。
到了判斷循環(huán)條件,while(number1 == -1)
顯然是當(dāng)number1
值為-1的時(shí)候循環(huán)才繼續(xù)。
可見循環(huán)條件并不符合,所以do...while
循環(huán)只進(jìn)行了一次就結(jié)束了。
添加回答
舉報(bào)
0/150
提交
取消