数组和对象都是引用数据类型,栈内存中存储指针,堆内存中存储实际数据。下面这种判断不能进行数组或对象判空
let arr = [];
if(arr !== []) { //该方法无法判断空数据
...
}
上面方法由于获取的是数组的地址,地址 !== [] ,所以不能用来进行判空,需要使用 length === 0 来进行判断。
let arr = [];
if(arr.length !== 0) {
...
}
记录一下这个问题,防止自己以后再犯
本文解析了JavaScript中数组和对象作为引用数据类型的特性,指出直接比较判空(如arr!==[])的误区,并提供正确的判空方法:通过检查数组长度(arr.length===0)来判断数组是否为空。
数组和对象都是引用数据类型,栈内存中存储指针,堆内存中存储实际数据。下面这种判断不能进行数组或对象判空
let arr = [];
if(arr !== []) { //该方法无法判断空数据
...
}
上面方法由于获取的是数组的地址,地址 !== [] ,所以不能用来进行判空,需要使用 length === 0 来进行判断。
let arr = [];
if(arr.length !== 0) {
...
}
记录一下这个问题,防止自己以后再犯
615
665
1296
3970

被折叠的 条评论
为什么被折叠?