亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

為什么聲明變量第一個是var myarr不是var myarr[i]

var myarr=new Array();?//先聲明一維?

for(var i=0;i<3;i++){ ? //一維長度為3

? ?myarr[i]=new Array(); ?//再聲明二維?

? ?for(var j=0;j<5;j++){ ? //二維長度為5

? ?myarr[i][j]=i*j; ? // 賦值,每個數組元素的值為i+j

? ?} }

雖然知道這是正確的,

但為什么不是兩個聲明都有

為什么var myarr[i],而不是var myarr[j]/[q]/[k]呢

求大神給菜鳥一個好理解記憶的說法


正在回答

1 回答

為了能讓你更好的理解,我重新描述一下這個過程,

第一句是在聲明一個一維數組myarr,在內存中開辟出一塊空間來等你給賦與具體的值;

因為題給數組長度是3,所以for循環三次,遍歷myarr數組中每一個元素myarr[0].myarr[1],myarr[2];

所以,程序中第三句也可以理解成在遍歷的同時創建新的一維數組并賦值給myarr數組的每一個元素myarr[0].myarr[1],myarr[2];

這樣的話,myarr數組中的每一個元素也是數組形式的了,就變成了二維數組(數組中的元素還是數組),就像myarr是一個大盒子,里面又被裝進了三個小盒子,小盒子里面才是具體的數字,這樣能明白了吧?

第二個問題:為什么不是var myarr[j]/[q]/[k]

這個完全可以是j/q/k,方括號里的變量代表的是數組中的索引,也就是第幾個元素,大家都習慣了用i表示而已,就像這個數組名字一樣,你也可以定義成yourarr,沒有影響的.

就這樣!

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

慕絲5359371 提問者

超厲害阿, 謝謝大神,這回明白了(?¯∀¯?) 還想讓你幫把最后兩句也解釋下,自己理解的不準確( ??•?•?? ) 另外弱弱的問一句,能讓我抱住你的大腿嗎
2016-12-21 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么聲明變量第一個是var myarr不是var myarr[i]

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

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號