課程
/前端開發(fā)
/JavaScript
/JavaScript進階篇
alert(arr[1][1]);會彈出提示框
但是if中的判斷條件在運行時為什么會讀取不到
2016-08-09
源自:JavaScript進階篇 3-8
正在回答
剛沒看理解你的問題,現(xiàn)在再來補充一下~
你的問題是:1)if中的判斷條件在運行時為什么會讀取不到2)為什么(arr[1][1])可以識別,(arr[i][0])會報錯
第一個問題,運行時其實已經讀取到if判斷條件了,所以才會出現(xiàn)Cannot read property '0' of underfined報錯
第二個問題,當你給數(shù)組賦值之后,直接alert(arr[1][1]); 默認將字符串轉換為數(shù)組形式,所以[1][1]索引的是第二個數(shù)組'##'的第二個值'#'。你把for循環(huán)位置調整之后,在那一行打一個斷點,在Sources中F10分步運行就可以看到報錯是在i的值為6的時候出現(xiàn)的,原因在于var arr = ['*','##',"***","&&","****","##*"];只定義了數(shù)組的前六個值,arr[7] = '**';則定義了第八個值;所以arr[6]即數(shù)組的第七位是沒有賦值的,該位置為空,也就不存在arr[6][0]的值,因此控制臺報錯。
湛瞳 提問者
你定義數(shù)組的方式也有問題吧,好像并沒有定義二維數(shù)組。
var?arr?=?['*','##',"***","&&","****","##*"];
這樣定義的只是一維數(shù)組,為什么后面卻又直接使用二維數(shù)組的方式進行索引呢?
愛吃芒果
親們,我知道for循環(huán)的格式有問題,不過這不是我的重點啊,即使改正確了還是會有如圖所示的錯誤,我想知道為什么(arr[1][1])可以識別,(arr[i][0])0會報錯
for 循環(huán)沒有把alert包含進去
代碼中的for循環(huán)格式好像錯了
舉報
本課程從如何插入JS代碼開始,帶您進入網(wǎng)頁動態(tài)交互世界
1 回答arr 不是二維數(shù)組,也可以用arr[i][0]啊
2 回答關于二維數(shù)組的
4 回答關于二維數(shù)組。
3 回答二維數(shù)組的問題
4 回答二維數(shù)組的問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2016-08-09
剛沒看理解你的問題,現(xiàn)在再來補充一下~
你的問題是:1)if中的判斷條件在運行時為什么會讀取不到2)為什么(arr[1][1])可以識別,(arr[i][0])會報錯
第一個問題,運行時其實已經讀取到if判斷條件了,所以才會出現(xiàn)Cannot read property '0' of underfined報錯
第二個問題,當你給數(shù)組賦值之后,直接alert(arr[1][1]); 默認將字符串轉換為數(shù)組形式,所以[1][1]索引的是第二個數(shù)組'##'的第二個值'#'。你把for循環(huán)位置調整之后,在那一行打一個斷點,在Sources中F10分步運行就可以看到報錯是在i的值為6的時候出現(xiàn)的,原因在于var arr = ['*','##',"***","&&","****","##*"];只定義了數(shù)組的前六個值,arr[7] = '**';則定義了第八個值;所以arr[6]即數(shù)組的第七位是沒有賦值的,該位置為空,也就不存在arr[6][0]的值,因此控制臺報錯。
2016-08-09
你定義數(shù)組的方式也有問題吧,好像并沒有定義二維數(shù)組。
這樣定義的只是一維數(shù)組,為什么后面卻又直接使用二維數(shù)組的方式進行索引呢?
2016-08-09
親們,我知道for循環(huán)的格式有問題,不過這不是我的重點啊,即使改正確了還是會有如圖所示的錯誤,我想知道為什么(arr[1][1])可以識別,(arr[i][0])0會報錯
2016-08-09
for 循環(huán)沒有把alert包含進去
2016-08-09
代碼中的for循環(huán)格式好像錯了