JavaScript 如何判断对象是否为空? 下面本篇文章就来给大家介绍一下判断对象是否为空的方法, 希望对大家有所帮助.
1, 将对象转为字符串, 然后判断是否等于'{}'
如果等于'{}'则对象为空, 如果不等于'{}'则对象不为空.
- var obj = {};
- var objStr = JSON.stringify(obj);
- if(objStr === '{}') {
- console.log("对象为空");
- }else {
- console.log("对象不为空");
- }
输出:
对象为空
2, 使用 for in 遍历对象进行判断
- function isEmptyObj(data) {
- for(var item in data) {
- return false;
- }
- return true;
- };
- var obj = {};
- if (isEmptyObj(obj)){
- console.log("对象为空");
- }else {
- console.log("对象不为空");
- }
输出:
对象为空
3,jQuery 的 isEmptyObject 方法进行判断
jQuery 的 isEmptyObject() 方法用于检查对象是否为空 (不包含任何属性).
- <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
- <script type="text/javascript">
- var obj = {};
- var b = $.isEmptyObject(obj);
- if(b) {
- console.log("对象为空");
- } else {
- console.log("对象不为空");
- }
- </script>
输出:
对象为空
4, 使用 Object.getOwmPropertyNames() 方法 + length 属性进行判断
Object 对象的 getOwnPropertyNames 方法, 获取到对象中的属性名, 存到一个数组中, 返回数组对象; 然后通过使用数组的 length 属性来判断此对象是否为空.
- var obj = {};
- var arr = Object.getOwnPropertyNames(obj);
- if (arr.length == 0){
- console.log("对象为空");
- }else {
- console.log("对象不为空");
- }
输出:
对象为空
5, 使用 es6 的方法 Object.keys()+length 属性进行判断
与 4 方法类似, 是 ES6 的新方法, 返回值也是对象中属性名组成的数组; 然后通过使用数组的 length 属性来判断此对象是否为空.
- var obj = {};
- var arr = Object.keys(obj);
- if (arr.length == 0){
- console.log("对象为空");
- }else {
- console.log("对象不为空");
- }
输出:
对象为空
来源: http://www.css88.com/qa/javascript/10948.html