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

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

關于二維數組arr[i][0]的問題

http://img1.sycdn.imooc.com//57a95111000136c405940410.jpg

alert(arr[1][1]);會彈出提示框

http://img1.sycdn.imooc.com//57a9514f0001fc0604460171.jpg

但是if中的判斷條件在運行時為什么會讀取不到

正在回答

5 回答

剛沒看理解你的問題,現在再來補充一下~

你的問題是:1)if中的判斷條件在運行時為什么會讀取不到2)為什么(arr[1][1])可以識別,(arr[i][0])會報錯

第一個問題,運行時其實已經讀取到if判斷條件了,所以才會出現Cannot read property '0' of underfined報錯

第二個問題,當你給數組賦值之后,直接alert(arr[1][1]); 默認將字符串轉換為數組形式,所以[1][1]索引的是第二個數組'##'的第二個值'#'。你把for循環位置調整之后,在那一行打一個斷點,在Sources中F10分步運行就可以看到報錯是在i的值為6的時候出現的,原因在于var arr = ['*','##',"***","&&","****","##*"];只定義了數組的前六個值,arr[7] = '**';則定義了第八個值;所以arr[6]即數組的第七位是沒有賦值的,該位置為空,也就不存在arr[6][0]的值,因此控制臺報錯。

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

湛瞳 提問者

非常感謝!
2016-08-10 回復 有任何疑惑可以回復我~

你定義數組的方式也有問題吧,好像并沒有定義二維數組。

var?arr?=?['*','##',"***","&&","****","##*"];

這樣定義的只是一維數組,為什么后面卻又直接使用二維數組的方式進行索引呢?

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

愛吃芒果

這里是誤解了,又更新了答案在下面
2016-08-09 回復 有任何疑惑可以回復我~

親們,我知道for循環的格式有問題,不過這不是我的重點啊,即使改正確了還是會有如圖所示的錯誤,我想知道為什么(arr[1][1])可以識別,(arr[i][0])0會報錯

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

for 循環沒有把alert包含進去

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

代碼中的for循環格式好像錯了

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

湛瞳 提問者

哪里?
2016-08-09 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468967    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

關于二維數組arr[i][0]的問題

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

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

幫助反饋 APP下載

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

公眾號

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