可以幫我解釋一下這個(gè)函數(shù)的意思嗎
function checkone(){
? ? ? ? ? ? clearall();
? ? ? ? ? ? var hobby = document.getElementsByName("hobby");
? ? ? ? ? ? var j=document.getElementById("wb").value;
? ? ? ? ? ? for(var i=0;i<j.length;i++){
? ? ? ? ? ? ? ? if(j.charAt(i)>6 || j.charAt(i)<1){
? ? ? ? ? ? ? ? ? ? alert("越界,請(qǐng)重新輸入!");
? ? ? ? ? ? ? ? ? ? document.getElementById("wb").value="";
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? ? ? for(var n=0;n<j.length;n++){? ??
? ? ? ? ? ? ? ? ? ? ? ? /*hobby[(j.charAt(n))-1].checked=true; */
? ? ? ? ? ? ? ? }? ? ? ?
?? ? ? ?}
中的(j.charAt(n))-1怎么理解,比如說j=5的話,為啥不直接hobby[j.charAt-1]這樣表達(dá)呢,要在for循環(huán)里,在j.charAt(n)而且這個(gè)n有什么用?
2018-09-22
輸入框wb的值是String類型的,所以j是String類型的,for(var i=0;i<j.length;i++) 這個(gè)for循環(huán)是遍歷j, 字符串的charAt()方法參數(shù)是一個(gè)整數(shù),表示了取這個(gè)字符串下標(biāo)(從0開始)為該參數(shù)位置的字符,比如 b=abc.charAt(1),所以if(j.charAt(i)>6 || j.charAt(i)<1)這個(gè)if是判斷當(dāng)j的第i個(gè)位置的字符是不是大于6或者小于1(用戶除了數(shù)字可能還會(huì)輸入英文字母,符號(hào)什么的,這樣子判斷就保證用戶輸什么程序都不會(huì)出錯(cuò)),因?yàn)閻酆玫膇d是1到6