亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

這個do while為什么只循環了一遍

這個do while為什么只循環了一遍

慕哥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貢獻1834條經驗 獲得超8個贊

首先,prompt()函數返回值,點取消返回null,點確定返回字符串信息。那么number1可能的值是null或是字符串。
然后,parseFloat()的作用是解析一個字符串參數并返回一個浮點數。

如果參數字符串的第一個字符不能被解析成為數字,則parseFloat返回NaN.
并且當字符串參數為null的時候,返回的也是NaN。那么此時的number1為NaN。

接下來的if...else...沒有對number1進行任何改變。那么number1依然是NaN。
到了判斷循環條件,while(number1 == -1)顯然是當number1值為-1的時候循環才繼續。
可見循環條件并不符合,所以do...while循環只進行了一次就結束了。


查看完整回答
反對 回復 2018-12-14
  • 1 回答
  • 0 關注
  • 547 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號