Javascript如果条件是检查是否有空对象的变量
我有一个变量var a={}Javascript如果条件是检查是否有空对象的变量,javascript,angularjs,frontend,web-frontend,Javascript,Angularjs,Frontend,Web Frontend,我有一个变量var a={} if ( a !==null) { // Entering here if var a has empty object but i don't want to enter. } if (a == null) { // Want to enter into this condition if var a has empty object. } 我尝试了几种方法来编写这个条件,比如给出一个=={},但它仍然进入第一个条件。您能告诉我检查这种情况的适当方法吗? 函数
if ( a !==null) {
// Entering here if var a has empty object but i don't want to enter.
}
if (a == null) {
// Want to enter into this condition if var a has empty object.
}
我尝试了几种方法来编写这个条件,比如给出一个=={},但它仍然进入第一个条件。您能告诉我检查这种情况的适当方法吗?
函数isEmptyObject(obj){
返回Object.keys(obj).length==0;
}
变量a={};
如果(isEmptyObject(a)){
console.log('emptyObject')
}
第一个选项
var a = null;
第二种选择
if ( a !==null && JSON.stringify(a) !== '{}') {..}
jQuery确实如此
function isEmptyObject(obj) {
var name;
for (name in obj) {
return false;
}
return true;
}
在ECMA脚本5中
var objInTest = {};
function isEmpty(obj) {
return Object.keys(obj).length === 0;
}
function isEmpty(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
return false;
}
return true;
}
ECMA前脚本5
var objInTest = {};
function isEmpty(obj) {
return Object.keys(obj).length === 0;
}
function isEmpty(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
return false;
}
return true;
}
如果a为null或未定义怎么办?应该在函数中测试。@将不会在名为
isEmptyObject
的函数中测试,如果您将其更改为isNullOrEmptyObject()
,则可能会,但OP的示例是关于一个空对象的<代码>我有一个变量var a={}代码>在任何情况下,这都是微不足道的。。。我相信OP会找到答案的。这也会检查继承的属性。只要OP理解并选择他们想要的。谢谢你们所有人的有效回复@Janaka dissanayake响应很方便。const empty={}Object.keys(empty)。length==0&&empty.constructor==Object