关于二维数组arr[i][0]的问题
alert(arr[1][1]);会弹出提示框
但是if中的判断条件在运行时为什么会读取不到
alert(arr[1][1]);会弹出提示框
但是if中的判断条件在运行时为什么会读取不到
2016-08-09
刚没看理解你的问题,现在再来补充一下~
你的问题是: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]的值,因此控制台报错。
举报