JavaScript里,对象(object)和字典(dictionary, 或者有些语言叫map)的边界非常模糊。
初始化一个{}对象 :
let obj={},
错误判断:
一开始以为是直接判空即可,但是结果是不为空的
let obj={};
if(obj){
console.log('obj 不为空')
}else{
console.log('obj为空')
}
结果:
其他判断方法:
方法1:
最直接判断长度:
let obj={
};
if(Object.keys(obj).length>0){
console.log('obj 不为空')
}else{
console.log('obj为空')
}
结果:
示例2:
let obj={
"a":'1'
};
if(Object.keys(obj).length>0){
console.log('obj 不为空')
}else{
console.log('obj为空')
}
输出结果:obj不为空
此方法与: (Object.getOwnPropertyNames(obj).length==0 判断类似的。
方法2:JSON.stringify()方法转换
let obj={
};
if(JSON.stringify(obj)==='{}'){
console.log('obj 为空')
}else{
console.log('obj 不为空')
}
结果是:obj 为空
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/101532.html