Javascript判断对象是否相等实现代码


Posted in Javascript onMarch 18, 2013

在做表单页面的时候,想判断2个js对象,是不是所有完全相同。
这里是stackoverflow上的解决办法,在这里记录一下。

Object.prototype.equals = function(x) 
{ 
var p; 
for(p in this) { 
if(typeof(x[p])=='undefined') {return false;} 
} 
for(p in this) { 
if (this[p]) { 
switch(typeof(this[p])) { 
case 'object': 
if (!this[p].equals(x[p])) { return false; } break; 
case 'function': 
if (typeof(x[p])=='undefined' || 
(p != 'equals' && this[p].toString() != x[p].toString())) 
return false; 
break; 
default: 
if (this[p] != x[p]) { return false; } 
} 
} else { 
if (x[p]) 
return false; 
} 
} 
for(p in x) { 
if(typeof(this[p])=='undefined') {return false;} 
} 
return true; 
}
Javascript 相关文章推荐
优秀js开源框架-jQuery使用手册(1)
Mar 10 Javascript
Extjs Ext.MessageBox.confirm 确认对话框详解
Apr 02 Javascript
点击隐藏页面左栏或右栏实现js代码
Apr 01 Javascript
js调用图片隐藏&显示实现代码
Sep 13 Javascript
jquery实现弹出层登录和全屏层注册特效
Aug 28 Javascript
jquery UI Datepicker时间控件的使用方法(终结版)
Nov 07 Javascript
js智能获取浏览器版本UA信息的方法
Aug 08 Javascript
JS实现的表头列头固定页面功能示例
Jan 10 Javascript
详解前后端分离之VueJS前端
May 24 Javascript
BootStrap自定义popover,点击区域隐藏功能的实现
Jan 23 Javascript
使用Vue制作图片轮播组件思路详解
Mar 21 Javascript
微信小程序实现评论功能
Nov 28 Javascript
jQuery+css实现图片滚动效果(附源码)
Mar 18 #Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
Mar 18 #Javascript
javascript定时变换图片实例代码
Mar 17 #Javascript
JS前端框架关于重构的失败经验分享
Mar 17 #Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
Mar 17 #Javascript
提交表单时执行func方法实现代码
Mar 17 #Javascript
javascript中this做事件参数相关问题解答
Mar 17 #Javascript
You might like
又一个php 分页类实现代码
2009/12/03 PHP
joomla内置的表单验证功能使用方法
2010/06/11 PHP
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
2011/07/29 PHP
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
JavaScript 学习笔记 Black.Caffeine 09.11.28
2009/11/30 Javascript
javascript中的一些注意事项 更新中
2010/12/06 Javascript
在JavaScript并非所有的一切都是对象
2013/04/11 Javascript
Extjs407 getValue()和getRawValue()区别介绍
2013/05/21 Javascript
Javascript aop(面向切面编程)之around(环绕)分析
2015/05/01 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
纯js实现瀑布流布局及ajax动态新增数据
2016/04/07 Javascript
HTML5 实现的一个俄罗斯方块实例代码
2016/09/19 Javascript
vuejs指令详解
2017/02/07 Javascript
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
2017/05/03 Javascript
JS+HTML+CSS实现轮播效果
2017/11/28 Javascript
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
详解Node.js amqplib 连接 Rabbit MQ最佳实践
2019/01/24 Javascript
Vee-validate 父组件获取子组件表单校验结果的实例代码
2019/05/20 Javascript
vue实现将一个数组内的相同数据进行合并
2019/11/07 Javascript
vue使用nprogress加载路由进度条的方法
2020/06/04 Javascript
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
2019/05/15 Python
详解Django配置优化方法
2019/11/18 Python
python IDLE添加行号显示教程
2020/04/25 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
2020/07/01 Python
全球最大运动品牌的男装、女装和童装官方库存商:A&A Sports
2021/01/17 全球购物
康拓普公司Java笔面试
2016/09/23 面试题
行政经理岗位职责
2013/11/09 职场文书
大专生简历的自我评价
2013/11/26 职场文书
军人违纪检讨书
2014/02/04 职场文书
党员群众路线承诺书
2014/05/20 职场文书
民事上诉状范文
2015/05/22 职场文书
小学班级标语口号大全
2015/12/26 职场文书
使用CSS实现一个搜索引擎的原理解析
2021/09/25 HTML / CSS