Javascript如果条件是检查是否有空对象的变量

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. } 我尝试了几种方法来编写这个条件,比如给出一个=={},但它仍然进入第一个条件。您能告诉我检查这种情况的适当方法吗? 函数

我有一个变量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.
}
我尝试了几种方法来编写这个条件,比如给出一个=={},但它仍然进入第一个条件。您能告诉我检查这种情况的适当方法吗?

函数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