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 相关文章推荐
jquery选择checked在ie8普通模式下的问题
Feb 12 Javascript
javascript实例--教你实现扑克牌洗牌功能
May 15 Javascript
浅谈javascript回调函数
Dec 07 Javascript
JS实现鼠标滑过折叠与展开菜单效果代码
Sep 06 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
Mar 10 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
Jun 17 Javascript
Vue 2.X的状态管理vuex记录详解
Mar 23 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
Sep 19 Javascript
mint-ui 时间插件使用及获取选择值的方法
Feb 09 Javascript
Vue实现搜索结果高亮显示关键字
May 28 Javascript
Nuxt.js实战和配置详解
Aug 05 Javascript
浅谈node.js中间件有哪些类型
Apr 29 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
对javascript和select部件的结合运用
2006/10/09 PHP
drupal 代码实现URL重写
2011/05/04 PHP
php文档更新介绍
2011/07/22 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
2013/06/03 PHP
Javascript中Event属性搜集整理
2013/09/17 Javascript
Javascript基础教程之函数对象和属性
2015/01/18 Javascript
javascript实现自动输出文本(打字特效)
2015/08/27 Javascript
JavaScript+html5 canvas实现本地截图教程
2020/04/16 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
2017/03/14 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
js实现鼠标拖拽多选功能示例
2017/08/01 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
Node.js开发之套接字(socket)编程入门示例
2019/11/05 Javascript
详解Vscode中使用Eslint终极配置大全
2019/11/08 Javascript
js实现列表向上无限滚动
2020/01/13 Javascript
JavaScript实现拖拽盒子效果
2020/02/06 Javascript
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
python实现用于测试网站访问速率的方法
2015/05/26 Python
python利用paramiko连接远程服务器执行命令的方法
2017/10/16 Python
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
Window10下python3.7 安装与卸载教程图解
2019/09/30 Python
tf.concat中axis的含义与使用详解
2020/02/07 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
2020/04/22 Python
鼠标滚轮事件和Mac触控板双指事件
2019/12/23 HTML / CSS
Waterford美国官网:爱尔兰水晶制品品牌
2017/04/26 全球购物
英国DIY汽车维修配件网站:DIY Car Service Parts
2019/08/30 全球购物
大学毕业自我鉴定范文
2014/02/03 职场文书
目标管理责任书
2014/04/15 职场文书
绿色环保家庭事迹材料
2014/08/31 职场文书
项目建议书
2015/02/04 职场文书
2015年党支部书记工作总结
2015/05/21 职场文书
商标侵权律师函
2015/05/27 职场文书
师范生小学见习总结
2015/06/23 职场文书
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers