本文目錄一覽:
這段JS代碼錯在哪裡
Infinity 屬性用於存放表示正無窮大的數值。
以上while在307次時超出js限制
var n1=23871;
var n2=0;
var times=0;
do{
var n3=n1%10;
n2=(n2*10)+n3;
n1=n1/10;
times++;
console.log(n2+”|”+times)
}while(n10);
幫忙看一下這個js代碼哪裡寫錯了,死循環了?
把變數加1的操作提前就好。
// 1-100所有偶數的和
var he2 = 0;
var shu = 1;
while (shu = 100) {
shu++;
if (shu % 2 != 0) {
continue;
}
he2 = he2 + shu;
}
console.log(shu);
高分一段簡單js代碼,哪裡出錯?
由於你代碼沒有粘完,我能看到的錯誤就兩點
第一:for循環應該寫成 for(var j=0;jpage_count;j++) 除非你的變數j在外面已經定義
第二:setInterval應該這樣用setInterval(“方法名()”,時間);
不過有一點我有疑問,setInterval方法不是要寫在方法外面嗎?你為什麼要寫在for循環裡面,首先這點就不對,setTimeout則是可以放到方法里的。
js 代碼哪裡出錯了?
js自上而下運行
你js在上面引用的話,js會先載入,載入的時候html還沒渲染完畢,所以你獲取到的元素是null,null獲取value自然就報錯了。你把js放在所有節點後面/body前面就可以了。注意一定要放在/body前面,因為IE內核的瀏覽器,執行/body外面的js腳本是會報錯的。
js代碼哪裡有錯
代碼錯誤有三個地方:
1 var ch3 應改為 var ch3 = “”,就是定義 ch3 時,定義為一個空字元串
2 if 條件語句最後 else 裡邊 ch2_1 += ’00’ 應改為 ch2_1 = ch2 + ’00’
3 for 循環裡邊 ch3 = … 應改為 ch3 += … ‘…’表示的是後面那一串
修改後的代碼是
var ch = [“千”, “百”, “拾”, “億”, “千”, “百”, “拾”, “萬”, “千”, “百”, “拾”, “元”, “角”, “分”];
var ch1 = ‘零壹貳叄肆伍陸柒捌玖’;
var ch2_1;
var ch3 = ”;
var ch2 = document.getElementById(“a”).value;
var a = /(\.[0-9])$/;
var a1 = /(\.[0-9][0-9])$/;
if (a1.test(ch2)) {
ch2_1 = ch2.replace(/\./, ”);
} else if (a.test(ch2)) {
ch2_1 = ch2.replace(/\./, ”);
ch2_1 += ‘0’;
} else {
ch2_1 = ch2 + ’00’;
}
var ch2_2 = ch2_1.length;
var ch_1 = ch.slice(-ch2_2);
for (var ad = 0; ad ch2_1.length; ad++) {
ch3 += ch1.charAt(parseInt(ch2_1.substr(ad, 1))) + ch_1[ad];
}
var ch4 = ch3.replace(/零(千|百|拾|角)/g, ‘零’);
ch4 = ch3.replace(/零角零分/, ‘整’);
alert(‘中文貨幣’, ‘+ch4’);
————————
代碼命名可以規範一下,20幾行代碼,出現了10個變數,正則
var a = /(\.[0-9])$/; — var a = /\.\d$/;
var a1 = /(\.[0-9][0-9])$/; —- var a1 = /\.\d{2}$/;
能簡單就簡單唄。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/193405.html