var num = 100
for (var i = 1; i <= Infinity; i++) {
var text = prompt('請輸入您想要的操作:\n 1.存錢\n 2.取錢\n 3.顯示余額\n 4.退出')
if (parseInt(text) == 1) {
var cunnum = prompt('請輸入存取金額:')
num += parseInt(cunnum)
alert('您的余額為:' + num);
continue;
} else if (parseInt(text) == 2) {
var qunum = prompt('請輸入您要存取的金額:');
if (parseInt(qunum) > num) {
alert('不好意思,余額不足');
continue;
}
num -= qunum;
alert('您的余額為:' + num)
continue;
} else if (parseInt(text) == 3) {
alert('您的余額為:' + num)
continue;
} else if (parseInt(text) == 4) {
break;
} else {
alert('輸入有誤')
}
}
uj5u.com熱心網友回復:
代碼不全,,,,,,,uj5u.com熱心網友回復:
var text = prompt('請輸入您想要的操作:\n 1.存錢\n 2.取錢\n 3.顯示余額\n 4.退出')為什么寫到回圈里啊??你每次都要提示一次么??
也沒必要用parseInt 直接用text=="1"
uj5u.com熱心網友回復:
實作功能就可以了,然后我自己也模仿了一個
let money = 100//初始金額
setTimeout(()=>{//等待1秒開始執行
for (;;) {//不輸入條件進入無限回圈
let inputData = getInput('請輸入您想要的操作:\n 1.存錢\n 2.取錢\n 3.顯示余額\n 4.退出')
//通過獲取輸入的方法提取資料
switch (inputData) {
case 1:
let setMoney = parseInt(prompt('請輸入存取金額:'))
money += setMoney
alertBalances()
break;
case 2:
let getMoney = parseInt(prompt('請輸入您要存取的金額:'))
if(getMoney > money){
alert('不好意思,余額不足')
break
}
money -= getMoney
alertBalances()
break;
case 3:
alertBalances()
break;
case 4:
alert('退出成功')
return
break;
default:
alert('輸入有誤')
break;
}
}
},1000)
function getInput(msg){
let input = prompt(msg||'請輸入內容')
if(input){
input = input.replace(/\D/g,'')
//正則剔除非數字引數
}else{//如果點擊取消,輸入空值,或者為0
input = 0
}
return Number(input)//確保回傳引數為number型別
}
function alertBalances(){//提示余額函式
alert(`您的余額為${money}`)
}
1. 無限回圈可以使用for(;;){} 或者while(1){}實作
2. 規范變數名后續維護時清楚變數用處
3.多個if()else if() 可以使用switcch(){case}代替性能更好,書面更加清晰
4.重復的函式或方法進行抽離封裝方便統一維護
5.減少重復代碼
uj5u.com熱心網友回復:
如果是無限回圈的話,最好還是用while回圈。For回圈比較適合有限回圈,比如遍歷陣列。
判斷操作的話,用swtich比 if else的可讀性更好一些。
continue 是跳過下面的陳述句,重新開始新的回圈。在這里也沒有用,因為if后面沒有別的陳述句了,因此可以刪掉。
uj5u.com熱心網友回復:
感謝各位大佬指點!一個人學習感覺有點閉門造車了。轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/40623.html
標籤:JavaScript
