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