偽裝的很酷
2019-04-11 22:28:18
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>【函數(shù)重載】編寫一個方法,能接收若干數(shù)值 和 一個 運算方法,獲取若干數(shù)值的 運算結(jié)果。</title><script>function add(arr) {var sum = 0;for (var i = 0; i < arguments.length; i++) {for (var x = 0; x < arr.length; x++) {sum += arguments[i][x];}}return sum;}function multiple(arr) {var sum = 1;for (var i = 0; i < arguments.length; i++) {for (var x = 0; x < arr.length; x++) {sum *= arguments[i][x];}}return sum;}function division(arr) {var sum = 1;for (var i = 0; i < arguments.length; i++) {for (var x = 0; x < arr.length; x++) {sum /= arguments[i][x];}}return sum;}function sole(arr) {var sum = 0;for (var i = 0; i < arguments.length; i++) {for (var x = 0; x < arr.length; x++) {sum -= arguments[i][x];}}return sum;}function start(selectOperate, inputNum, add, multiple, division, sole, main) {var isOk = true;main(selectOperate, inputNum, add, multiple, division, sole);}function main(selectOperate, inputNum, add, multiple, division, sole) {var a = selectOperate();var sum = 0;var doOperateNum = 0;switch (a) {case 1:doOperateNum = inputNum();sum = add(doOperateNum);console.log(sum);break;case 2:doOperateNum = inputNum();sum = sole(doOperateNum);console.log(sum);break;case 3:doOperateNum = inputNum();sum = multiple(doOperateNum);console.log(sum);break;case 4:doOperateNum = inputNum();sum = division(doOperateNum);console.log(sum);default:break;}}function selectOperate() {var selecNum = parseInt(prompt('請輸入您要進行的操作。1.加法,2.減法,3.乘法,4.除法.5.退出'));return selecNum;}function inputNum() {var isOk = true;var arr = [];var a = 0;do {var inputNum = parseFloat(prompt('請輸入您要進行計算的值'));arr[a] = (inputNum);a++;if (isNaN(inputNum) || inputNum == null || inputNum == '') {isOk = false;arr.pop();}} while (isOk);return arr;}start(selectOperate, inputNum, add, multiple, division, sole, main);</script></head><body></body></html>
3 回答


慕移動2103324
TA貢獻2條經(jīng)驗 獲得超0個贊
你展示的代碼沒有運行錯誤???你想問什么問題呢?
是不是你想每次計算完成后都可以重新選擇操作?
那可以把main方法改成:
var?a?=?0; do{ ????a?=?selectOperate(); ????var?sum?=?0; ????... ????... }while(a?!=?5);
應(yīng)該就可以了吧?
添加回答
舉報
0/150
提交
取消