可以幫我解釋一下這個函數(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("越界,請重新輸入!");
? ? ? ? ? ? ? ? ? ? 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)而且這個n有什么用?
2018-09-22
輸入框wb的值是String類型的,所以j是String類型的,for(var i=0;i<j.length;i++) 這個for循環(huán)是遍歷j, 字符串的charAt()方法參數(shù)是一個整數(shù),表示了取這個字符串下標(biāo)(從0開始)為該參數(shù)位置的字符,比如 b=abc.charAt(1),所以if(j.charAt(i)>6 || j.charAt(i)<1)這個if是判斷當(dāng)j的第i個位置的字符是不是大于6或者小于1(用戶除了數(shù)字可能還會輸入英文字母,符號什么的,這樣子判斷就保證用戶輸什么程序都不會出錯),因為愛好的id是1到6