js 检查对象是否没有字段

前言

我以前遇到的一个问题。

var object={};
if(object=={})
{

}

在这里我遇到了问题,一直是lese状态。

后来想想其实也是自己犯了一个很严重的问题,这两个不是同一个对象。

但是后来我想到了另一个问题,如何判断{}是否为空?

正文

后来我想到了这种方法:

var data = {};
var b = (JSON.stringify(data) == "{}");

但是我一想这种效率是否有点低呢?

经过搜索这里还有其他的方法:

var obj = {};
var b = function() {
for(var key in obj) {
return false;
}
return true;
}

es6中可以这样写:

var data = {};
var arr = Object.keys(data);
alert(arr.length == 0);//true

es5 中这样写:

var data = {};
var arr = Object.getOwnPropertyNames(data);
alert(arr.length == 0);//true

但是es5中有个问题,那就是不兼容ie8

原文地址:https://www.cnblogs.com/aoximin/p/13129835.html