问题描述:初学js模仿小米的侧边栏菜单效果,但是当我在浏览其中运行时弹出如下这个错误Uncaught TypeError: Cannot set property ‘onmouseover’ of undefined(数组越界问题)
第一次遇到这个问题我是比较懵的,因为仔细检查了很多遍的代码都没发现任何地方出错,加载顺序也是正确的。
解决思路:
- 直接将mlist[i]的i赋值为一个实际的数字(当然是在i的范围内),初步试了几个没有问题。
- 然后在控制台分别打印milist.length和i,最后发现i值的范围居然是0-10与预期0-9的值有些出入
- 最后试着将mlist[i]的i赋值为10,问题复现。查看代码发现for循环中的i<=mlist.length 手动喷血。搞了半天结果是因为一个类似于java中的数组越界问题。
- 最后去掉“=”就没问题了。。。