JavaScript中判断一个对象是否为"空对象”

JavaScript中判断一个对象是否为"空对象"

这里指的“空对象”是类似于:{ } 和 new Object() 这样的。

具体的代码实现和原理如下:

// 所谓"空对象",即不包括任何可枚举(自定义)的属性。简而言之,就是该对象没有属性可以通过for...in迭代。
// for-in循环会同时枚举非继承属性和从原型对象继承的属性,如果有,则立即返回false,否则默认返回true。
isEmptyObject: function (obj) {

    var prop;

    for ( prop in obj)
        return false;

    return true;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-03 07:17:15

JavaScript中判断一个对象是否为"空对象”的相关文章

javascript判断一个对象是否是空对象,localStorage和sessionStorage区别

判断一个对象是否是空对象: var obj ={}; 1. if(JSON.stringify(newobj)=="{}"){ console.log('kongduixiang')  }else{ console.log('hehe')  } 2. if(Object.keys(newobj).length == 0){ console.log('kongduixiang'); } localStorage和sessionStorage区别: localStorage和session

js判断一个对象是否为空对象

最近遇到一个问题,用vue循环一个数组,展示一些海报图片.数组为空的话是不会遍历的,为了不让能够出现默认图片,这也就需要在数组中增加一个默认空对象arr[{}].问题来了,提交的时候怎么判断这个对象是空的呢? 简单粗暴的判断 因为是展示海报图片,每个对象下都有url属性,所以最直接的判断当前object的url属性 if (arr[0].url) { ... } 这个方法是无法判断arr为空的情况,如果arr[0]是个null,那么浏览器回抛出Cannot read property 'url'

js如何判断一个对象{}是否为空对象,没有任何属性

前段时间用js写了一个类似"angularjs"用于数据绑定的东西,功能是比较简单了, 通常应该传进来的是一个ArrayList JSON对象数组, 但有时候通过AJAX方法调用返回的是一个JSON对象,而不是数组! 为了兼容这种情况使用了以下代码: if (typeof model.rows === "object" && !(model.rows instanceof Array)){ model.rows = [model.rows]; } 这

js/jquery判断一个对象是否为空

一.js判断一个对象是否为空对象 1)通过JSON自带的.stringify方法来判断 //JSON自带的stringify方法,将json转成json字符串 var c = {}; if(JSON.stringify(c) == "{}"){ console.log("是空对象"); } 2)for...in...遍历属性 //for in var a = {}; var b = {foo:'bar'}; function aa(a){ for(var attr

(转)JavaScript中判断对象类型的种种方法

我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一个说明运算数类型的字符串.如:"number","string","boolean","object","function","undefined"(可用于判断变量是否存在). 但 type

JavaScript中判断为整数的多种方式

原文:JavaScript中判断为整数的多种方式 之前记录过JavaScript中判断为数字类型的多种方式,这篇看看如何判断为整数类型(Integer). JavaScript中不区分整数和浮点数,所有数字内部都采用64位浮点格式表示.但实际操作中比如数组索引.位操作则是基于32位整数. 方式一.使用取余运算符判断 任何整数都会被1整除,即余数是0.利用这个规则来判断是否是整数. function isInteger(obj) { return obj%1 === 0 } isInteger(3

判断一个对象是否为jquery对象的方法

当我们在用jquery的each做循环遍历的时候常常会使用到this,而有时候我们不知道this所指的到底是什么,因为要使用jquery的方法前提此对象必须是jquery对象.另外要判断一个javascript的对象是什么类型,可以使用typeof,但是typeof只能判断出js的基础对象(string,boolean,number,object).判断一个对象是否为jquery对象可以用 obj instanceof jQuery var obj = $("div"); if (ob

javascript中字符串格式转化成json对象记录

什么是JSON JSON(JavaScript Object Notation)是一种优美的JavaScript对象创建方法.JSON也是一种轻量级数据交换格式.JSON非常易于人阅读与编写,同时利于机器解析与生成.JSON是在AJAX中代替XML交换数据的更佳方案. JSON格式与语法 var jsonobject= {         //对象内的属性语法(属性名与属性值是成对出现的)         propertyname:value, //对象内的函数语法(函数名与函数内容是成对出现的

JavaScript中判断原生函数的两个示例

原文链接: Detect if a Function is Native Code with JavaScript原文日期: 2014-08-17翻译日期: 2014-08-20翻译人员: 铁锚 我总是经常碰到需要检查某个function是否是原生代码的情况  -- 这是功能测试中一个很重要的内容: 函数是浏览器内置支持的,还是通过第三方类库模拟的.要检测这一点,最简单的办法当然是判断函数的 toString 方法返回的值啦. JavaScript代码 判断函数是否是原生方法其实相当简单: //