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)即可
 
感谢我的朋友,让我知道页面报错也是不可忽视的问题!
posted @ 2015-12-29 13:19  hedyHe  阅读(1064)  评论(0编辑  收藏  举报