寫了一個在同一個prompt輸入框內輸入兩個數字比較大小的函數,用substring判斷字符是否為數字來區分兩個數字,代碼如下:function bijiao(){??var x = prompt("輸入兩個數字(請用標點符號間隔)");//x為所有輸入的長度??var len = x.length;//輸入字符的長度??var str = '';//用來獲取輸入的數字??var x1 = 0;//每個數字起始下標??var i = 0;//字符下標??var z = 0;//用來判斷數字個數??var arr = new Array();//用來承裝比較的數字??for (x1; x1 < len;) {???i = x1;//從數字的起始位置開始???for (;x.substring(i, i+1)>0 && x.substring(i, i+1)<=9;i++) {//判斷每個字符是否為0-9之間的數字????str = str + x.substring(i, i+1);???}???x1 = i + 1;//重置數字起始下標???if (str != '') {//讀數字????document.write('輸入的第' + 'z' + '個數字為:' + str + '。<br>');????arr[z] = Number(str);????str = '';????++z;???}???if (z == 2) {//當兩個數字讀取完畢之后跳出循環????break;???}??}??if (arr[0] > arr[1]) {???alert("最大值為" + arr[0]);??}else if (arr[0] < arr[1]){???alert("最大值為" + arr[1]);??}else{???alert(arr[0] + "和" + arr[1] + "相等");??}?}?bijiao();其中有一個有意思的部分,當判斷條件為“for (;x.substring(i, i+1)>0 && x.substring(i, i+1)<=9;i++)”時可以正常比較,只是識別不到用戶輸入的“0”;可是當改成“for (;x.substring(i, i+1)>=0 && x.substring(i, i+1)<=9;i++)”時,所有的瀏覽器都會刷新很久但出不來結果,懷疑是將“0”識別為“null”,因而導致崩潰,不知是否有大神知道原因
關于在js中prompt輸入值為0的問題
湛瞳
2016-08-09 16:17:22