Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
369 views
in Technique[技术] by (71.8m points)

大家来说说js如何判断对象为空?

图片描述

图片描述

这个是我的判断方法,大家还有别的判断方法吗?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

看你对对象为空的定义
如果判读对象是不是undefined/null
那么直接使用if语句就可以

var obj;
if(!obj){
 console.log("object is null or undefined");
}

如果判断对象没有任何属性这个就不好弄了
使用
for...in能够遍历可枚举属性,包括prototype中的
Object.keys(ES2015)值遍历自有的可枚举属性
但是对象的属性也可以通过设置enumerable=false为不可枚举的,那么通过上面的方法你就无法判断是否具有某个属性了

$.isEmptyObject();方法也是检查可枚举的属性

所以具体问题还是要具体分析,根据你的业务场景来
没有特殊的设置
$.isEmptyObject();
Object.keys()
for...in
都可以使用


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...