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 相关文章推荐
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
Dec 21 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
May 08 Javascript
鼠标焦点离开文本框时验证的js代码
Jul 19 Javascript
node.js中的fs.chown方法使用说明
Dec 16 Javascript
javascript显式类型转换实例分析
Apr 25 Javascript
Vuex简单入门
Apr 19 Javascript
vue+webpack实现异步加载三种用法示例详解
Apr 24 Javascript
vux uploader 图片上传组件的安装使用方法
May 15 Javascript
react-navigation之动态修改title的内容
Sep 26 Javascript
JavaScript两种计时器的实例讲解
Jan 31 Javascript
JavaScript中filter的用法实例分析
Feb 27 Javascript
Jquery的autocomplete插件用法及参数讲解
Mar 12 jQuery
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 smarty模版引擎中的缓存应用
2009/12/11 PHP
php实现将base64格式图片保存在指定目录的方法
2016/10/13 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
CakePHP框架Model函数定义方法示例
2017/08/04 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
Mootools 1.2教程 输入过滤第一部分(数字)
2009/09/15 Javascript
IE和firefox浏览器的event事件兼容性汇总
2009/12/06 Javascript
JavaScript游戏之是男人就下100层代码打包
2010/11/08 Javascript
jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)
2014/05/11 Javascript
用Jquery选择器计算table中的某一列某一行的合计
2014/08/13 Javascript
JS数组的常见用法实例
2015/02/10 Javascript
CSS3实现动态背景登录框的代码
2015/07/28 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
javascript求日期差的方法
2016/03/02 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
2020/05/28 Javascript
vue-i18n结合Element-ui的配置方法
2019/05/20 Javascript
JavaScript文档加载模式以及元素获取
2020/07/28 Javascript
如何编写一个 Webpack Loader的实现
2020/10/18 Javascript
python 获取网页编码方式实现代码
2017/03/11 Python
Python元字符的用法实例解析
2018/01/17 Python
python微信公众号开发简单流程
2018/03/23 Python
python 每天如何定时启动爬虫任务(实现方法分享)
2018/05/21 Python
python实现控制台打印的方法
2019/01/12 Python
Python删除n行后的其他行方法
2019/01/28 Python
python计算波峰波谷值的方法(极值点)
2020/02/18 Python
HTML5 canvas基本绘图之绘制五角星
2016/06/27 HTML / CSS
详解如何使用rem或viewport进行移动端适配
2020/08/14 HTML / CSS
茵宝(Umbro)英国官方商店:英国足球服装生产商
2016/12/29 全球购物
应聘自荐书
2013/10/08 职场文书
出国留学计划书
2014/04/27 职场文书
区级文明单位申报材料
2014/05/15 职场文书
2014年监理个人工作总结
2014/12/11 职场文书
2015年采购员工作总结
2015/04/27 职场文书
团组织推荐意见
2015/06/05 职场文书