Javascript中数组为空时并不是null
我一直都不注重页面错误这个事,页面调试工具报的错我一概忽略,除非不能运行,所以今天上线的系统让我朋友一看,就看出了事QAQ.
对,页面报了一堆错,都是红的QAQ
我朋友就追问你怎么这一堆错,我就尬尴了,只好解决问题
出错的就是以下这段代码:
利用ajax加载数据。当data没有任何数据时,原以为data.list为空,但其实并不是。。。
开始以为list没定义,所以才没有的,后来发现程序是可以进循环的,说明data.list并不是null或者undefined。
纳闷了一会,在那个地方打了个断点,再运行,发现她是这样的 data{list:Array[0]},我并没有看懂这啥意思
朋友是用ie打的断电,给我看了list下还有个length属性,我瞬间想起了我最近看的那本书。。。
list是一个数组,也可以称为对象,既然有length属性,那就代表它已经定义过了,并不是为null或者undefine,这就解决问题了
将if(data.list)改为if(data.list.length>0)即可
感谢我的朋友,让我知道页面报错也是不可忽视的问题!