第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

任務一、任務二i<hobby.length,而任務三i<=hobby.length,為什么;hobby[i].checked怎么理解;任務三中的代碼怎么理解?

<script?type="text/javascript">
??function?checkall(){
	??var?hobby=document.getElementsByTagName("input");
	??for(var?i=0;i<=hobby.length;i++){
		??hobby[i].checked=true;
		??}
	??}??//任務一
	??function?clearall(){
		??var?hobby=document.getElementsByName("hobby");
		??for(var?i=0;i<=hobby.length;i++){
			??hobby[i].checked=false;
			??}
		??}??//任務二
		??function?checkone(){
			??var?j=document.getElementById("wb").value;
			??var?hobby=document.getElementsByName("hobby");
			??var?num=j.split("");
			??for(var?i=0;i<hobby.length;i++){
				??hobby[num[i]-1].checked=true;
				??}
			??}??//任務三
			??function?clearone(){
			??var?j=document.getElementById("wb").value;
			??var?hobby=document.getElementsByName("hobby");
			??var?num=j.split("");
			??for(var?i=0;i<hobby.length;i++){
				??hobby[num[i]-1].checked=false;
				??}
			??}?
</script>


正在回答

2 回答

function?clearone(){???//函數(shù)名意思大概是??清除選中的check
????var?j=document.getElementById("wb").value;??//取出輸入框中的值并且賦值給j,j是字符串
????var?hobby=document.getElementsByName("hobby");?//取出所有的復選框,存入類數(shù)組hobby
????//這個代碼假設用戶輸入了一個或以上的數(shù)字,中間用空格隔開,比如:2?5?6
????var?num=j.split("");???//因此去掉j之間的空格,把結果存入num,num是數(shù)組
????for(var?i=0;i<hobby.length;i++){?//遍歷num數(shù)組,hobby中第一是o,最后一個是length-1,i是num的序數(shù),num數(shù)組的序數(shù)不可能大于hobby數(shù)組的長度。
????hobby[num[i]-1].checked=false;?//num中存的是用戶的輸入,從1開始,轉換為數(shù)組元素要-1
??????????????????}

假設,用戶輸入的是 2 5 6

num=256

for循環(huán)中,第一次:

hobby[num[0]-1] ?等價于hobby[2-1]等價于 hobby[1].用戶的意思就是第二個復選框,因此輸入2,轉換成數(shù)組hobby中就是hobby[1]。把這個復選框設置為未選中狀態(tài)

for循環(huán)三次,同上。


3 回復 有任何疑惑可以回復我~
#1

進擊君

需要指出兩點:第一是這個代碼沒有做輸入溢出的判斷,如果用戶輸入的不是1-6之間的數(shù)字,或者輸入的個數(shù)超過了六個就會出現(xiàn)錯誤。 第二是,假設用戶輸入的沒錯,6位以內(nèi)的1-6的數(shù)組,那么極限情況是1 2 3 4 5 6,num數(shù)組中存儲了6個值,最大是num[5]=6,此時num和hobby數(shù)組是一樣的。因此for循環(huán)遍歷時,i=0;i<5,而hobby.length也是等于5的。所以是i<hobby.length
2016-12-07 回復 有任何疑惑可以回復我~
#2

進擊君 回復 進擊君

另外,在for循環(huán)條件判斷里,i<num.length就行,假設用戶輸入的是 2,那么num元素只有一個,就是num[0]=1;此時還要讓i<hobby.length=6實際上是不必要的。
2016-12-07 回復 有任何疑惑可以回復我~
#3

進擊君 回復 進擊君

235這樣
2016-12-07 回復 有任何疑惑可以回復我~
#4

進擊君

上面有個地方說錯了,split函數(shù)是將字符串分割為字符串數(shù)組,并返回此數(shù)組。因此這個代碼默認的用戶輸入是連在一起的,例如:235這樣。不是我之前想的中間有空格隔開哈。
2016-12-07 回復 有任何疑惑可以回復我~
#5

MMJiao 提問者 回復 進擊君

var num=j.split("")你解釋是“去掉j之間的空格”不太理解,我認為是用空字符串去分割j這個字符串,作用是便于計算機識別用戶輸入的是一位數(shù)字,而不是二位、三位......不知道我的認識正不正確?
2016-12-08 回復 有任何疑惑可以回復我~
#6

MMJiao 提問者 回復 進擊君

var num=j.split("")你的解釋是“去掉j之間的空格”,不太理解;我認為是用空字符串分割j這個字符串,作用是便于讓計算機識別用戶輸入的是一位數(shù)字,而不是二位、三位......不知道我這樣理解對不對?
2016-12-08 回復 有任何疑惑可以回復我~
#7

進擊君 回復 MMJiao 提問者

:)
2016-12-08 回復 有任何疑惑可以回復我~
查看4條回復



? ? ? ? ?// 任務3

function checkone(){

? ? ? ? ? ? var j=document.getElementById("wb").value;

? ? ? ? ?if(j>=1&&j<=6){

? ? ? ? var hobby=document.getElementById("hobby"+j);

? ? ? ? hobby.checked=true;}

? ? ? ? else

? ? ? ? document.write("please input again");

? ? ? ? }


0 回復 有任何疑惑可以回復我~
#1

MMJiao 提問者

我發(fā)的任務三的代碼可不可以用通俗易懂的話幫我解釋下
2016-12-07 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

任務一、任務二i<hobby.length,而任務三i<=hobby.length,為什么;hobby[i].checked怎么理解;任務三中的代碼怎么理解?

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號