验证对象是否为null Javascript / Angularjs

时间:2016-05-13 17:48:05

标签: javascript jquery angularjs object

这是我的代码:

function getMelhorBloco(tamanho){

    var blocoMelhor = {};
    var testeEntrouBloco = true;

            for(var i = 0; i < $scope.blocos.length; i++) {
                if($scope.blocos[i].estado == "Livre") {

                    if(tamanho < $scope.blocos[i].tamanhoTotal) {
                        if(testeEntrouBloco) {
                            blocoMelhor.indice = $scope.blocos[i].idBloco;
                            blocoMelhor.tamanho = $scope.blocos[i].tamanhoTotal;
                            testeEntrouBloco = false;
                        } else {
                            if($scope.blocos[i].tamanhoTotal < blocoMelhor.tamanho) {
                                blocoMelhor.indice = $scope.blocos[i].idBloco;
                                blocoMelhor.tamanho = $scope.blocos[i].tamanhoTotal;

                            }
                        }
                    }
            }
        }

    return blocoMelhor;
}

我试图检查我的对象&#34; blocoMelhor&#34;是空的。

我试过

if(blocoMelhor == null){} 
if(blocoMelhor == undefined){} 
if(blocoMelhor ===null){} 

和方法:

function isEmpty(obj){
    for(var key in obj) {
        if(obj.hasOwnProperty(key)){
            return false;
        }
        return true;
    }
}

我打印了&#34; blocoMelhor&#34;的价值。并且控制台给了我这个:Object { }

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

尝试以下

var blocoMelhor;

if(!blocoMelhor){ 
do something for null
} 

初始化{}表示您创建一个对象

答案 1 :(得分:0)

你试过用

之类的东西吗?
if (!blocoMelhor){ //do something } 

? 我认为这是最好的方式。

答案 2 :(得分:0)

我使用对象的属性进行验证并且有效:

var returnOfGetMelhorBloco = getMelhorBloco(tamanho);
if(returnOfGetMelhorBloco.indice == undefined){
//the object is null
} else {
//the object is not null
}