`
mybwu_com
  • 浏览: 178231 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

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

 
阅读更多

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

前段时间用js写了一个类似"angularjs"用于数据绑定的东西,功能是比较简单了,

通常应该传进来的是一个ArrayList JSON对象数组,

但有时候通过AJAX方法调用返回的是一个JSON对象,而不是数组!

为了兼容这种情况使用了以下代码:

if (typeof model.rows === "object" && !(model.rows instanceof Array)){
	model.rows = [model.rows];

}
这段代码在后来使用过程中发现了一个Bug,就是当
model.rows = {};
时,依然把它当作一个有效的对象来处理,进行数据绑定,可想而知,所有数据都是空的。

解决方案:

那么怎么解决这个问题呢?

第一习惯首先是搜索一下,但得到的结果都是DOM相关的,差强人意!

这时想起之前写过遍历JS对象属性的方法,这里可以用上了!

代码如下:

if (typeof model.rows === "object" && !(model.rows instanceof Array)){
	var hasProp = false;
	for (var prop in model.rows){
		hasProp = true;
		break;
	}
	if (hasProp){
		model.rows = [model.rows];
	}else{
		throw "model.rows is empty object";
		return false;
	}
}
代码很简单,就不写注释了。



分享到:
评论

相关推荐

    微信小程序 两种为对象属性赋值的方式详解

    微信小程序两种为对象属性赋值的方式 对应config.wxml 阶段一 对应config.js data:{ //定义对象 configs:{} } //方式一 switchChange:function(e){ //为对象的某一属性赋值 configs.config1={ }; ...

    js判断对象是否为空

    即可以通过返回数组的长度来判断是否为空对象,若为空对象,该数组长度为0。例: let person={name:张三,age:20} if (Object.keys(person).length == 0) { //数据为空 return true }else{ return false } 二、...

    js对象属性排序

    js对象属性排序

    js中判断对象是否为空的三种实现方法

    在写js脚本的时候经常遇到对象为空或者不是对象的情况,出现这种情况我们可以用if去判断它,然后去执行相应的处理方法,具体判断他们的方法有以下几种: 1、if (typeOf(x) == “undefined”) 2、if (typeOf(x) ...

    js中将具有数字属性名的对象转换为数组

    虽然不太常用,但我们的确可以给对象添加以数字为属性名的属性: 代码如下: var obj = {}; obj[0] = 1; obj[1] = 2; 这个对象并不是数组类型,那有没有办法把它转换为数组类型呢?jQuery代码中采用了Array.prototype...

    javascript检测对象中是否存在某个属性判断方法小结

    使用in关键字该方法可以判断对象的自有属性和继承来的属性是否存在。 代码如下: var o={x:1}; “x” in o; //true,自有属性存在 “y” in o; //false “toString” in o; //true,是一个继承属性 2.使用对象的...

    js对象属性大全下载

    学习中总结的一些js属性,顺便赚点积分。

    JS如何判断对象是否包含某个属性

    主要介绍了JS如何判断对象是否包含某个属性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    js 实现 JavaScript遍历对象中的所有属性

    js 实现 JavaScript遍历对象中的所有属性! 值得下载看看!资源免费,大家分享!!

    JS判断两个对象内容是否相等的方法示例

    本文实例讲述了JS判断两个对象内容是否相等的方法。分享给大家供大家参考,具体如下: 我们知道,如果两个对象即使内容,JavaScript也会判断它们不相等。但是有时候,我们仅仅需要判断两个对象的内容是否相等。那么...

    JavaScript创建一个object对象并操作对象属性的用法

    本文实例讲述了JavaScript创建一个object对象并操作对象属性的用法。分享给大家供大家参考。具体分析如下: 下面的JS代码创建了一个myMovie对象,并给对象title和director属性赋值,通过Object定义对象,其属性可以...

    javascript下判断一个对象是否具有指定名称的属性的的代码

    hasOwnProperty 方法 返回一个布尔值,指出一个对象是否具有指定名称的属性。 object.hasOwnProperty(proName) 兼容WinIE5.5+, MacIE-, NN6+, Moz+, Safari- 参数 object 必选项。一个对象的实例。 proName 必选项。...

    js数组中存对象,根据对象的属性进行去重

    在进行web项目开发的时候,有时候需要把一些前端的数组进行去重处理,得到一个去重后的数据,然后在进行相关的操作

    如何判断出一个js对象是否一个dom对象

    要判断一个对象是否DOM对象,首先想到的无非就是它是否具有DOM对象的各种属性或特征,比如是否有nodeType属性,有tagName属性,等等。判断的特征越多,也就越可靠,因为毕竟我们自定义的js对象也可以有那些属性。...

    JS对象是否拥有某属性如何判断

    JS对象是否拥有某属性 两种方式,但稍有区别 1,in 运算符 var obj = {name:'jack'}; alert('name' in obj); // --> true alert('toString' in obj); // --> true 可看到无论是name,还是...

    JavaScript Window窗口对象属性和使用方法

    Window对象可以处理框架和框架之间的关系,通过这种关系在一个框架中处理另一个框架中的文档。他也是所有对象的顶级对象,通过Window对象的子对象进行操作,可以实现更多的效果。 1、Window对象属性 每个对象都有...

    判断JS对象是否拥有某种属性的两种方式

    主要介绍了判断JS对象是否拥有某种属性的两种方式,有需要的朋友可以参考一下

    AJAX对象方法和对象属性

    AJAX XMLHttpRequest对象方法 XMLHttpRequest对象属性

    JS判断两个数组或对象是否相同的方法示例

    本文实例讲述了JS判断两个数组或对象是否相同的方法。分享给大家供大家参考,具体如下: JS 判断两个数组是否相同 要判断2个数组是否相同,首先要把数组进行排序,然后转换成字符串进行比较。 JSON.stringify([1,2,...

    JavaScript 判断对象中是否有某属性的常用方法

    判断对象中是否有某属性的常见方式总结,不同的场景要使用不同的方式。这篇文章给大家介绍了JavaScript 判断对象中是否有某属性的常用方法,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

Global site tag (gtag.js) - Google Analytics