【发布时间】:2016-05-13 17:48:04
【问题描述】:
这是我的代码:
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;
}
我试图检查我的对象“blocoMelhor”是否为空。
我试过了
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;
}
}
我打印了“blocoMelhor”的值,控制台给了我这个:Object { }
有什么建议吗?
【问题讨论】:
-
为什么你会认为你的对象会是空的?您将其初始化为
{}- 这是一个空对象,但它绝对不是 null 或 undefined。 -
isEmpty(obj)永远不会返回 false,因为keys in obj获取键列表,这意味着对象必须包含每个键
标签: javascript jquery angularjs object