Javascript数组if为null错误
我有一个数组:Javascript数组if为null错误,javascript,arrays,Javascript,Arrays,我有一个数组:this.entries=[]。我运行了一些代码,它多次运行这个if语句: if(this.entries[2] != null) 在所有代码运行后我重置阵列之前,一切正常: 我试过做this.entries=[]和this.entries.splice(0,this.entries.length) 我重新运行代码,当它到达if语句时,我得到以下错误: Cannot read property '2' of null 据我所知,没有什么不同。非常感谢您的提示和帮助。这里有几个对
this.entries=[]
。我运行了一些代码,它多次运行这个if
语句:
if(this.entries[2] != null)
在所有代码运行后我重置阵列之前,一切正常:
我试过做this.entries=[]
和this.entries.splice(0,this.entries.length)代码>
我重新运行代码,当它到达if
语句时,我得到以下错误:
Cannot read property '2' of null
据我所知,没有什么不同。非常感谢您的提示和帮助。这里有几个对象。这里有这个
,当然它不应该是空的
。然后是this.entries
,它是一个数组。把它想象成一个可以装东西的容器。然后,还有this.entries[i]
,它们是容器中的东西
当this.entries[2]
失败时,表示容器的插槽2中没有对象
但是,错误无法读取null的属性“2”
表示没有容器。也就是说,数组本身被设置为空。这里有几个对象。这里有这个
,当然它不应该是空的
。然后是this.entries
,它是一个数组。把它想象成一个可以装东西的容器。然后,还有this.entries[i]
,它们是容器中的东西
当this.entries[2]
失败时,表示容器的插槽2中没有对象
但是,错误无法读取null的属性“2”
表示没有容器。也就是说,数组本身已被设置为null。请发布整个函数好吗?请发布整个函数好吗?Javascript允许您越界访问数组-它返回未定义的
进行读取,并调整数组大小进行写入。本例中不存在“空错误”这类情况。感谢您的澄清。似乎我在其他地方意外地将条目设置为null,这就是导致它崩溃的原因。Javascript允许您访问超出边界的数组-它返回未定义的
进行读取,并调整数组大小进行写入。本例中不存在“空错误”这类情况。感谢您的澄清。似乎我在其他地方意外地将条目设置为null,这就是导致它崩溃的原因。