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中通过split函数分割字符串成数组小例子
Sep 21 Javascript
JavaScript Promise启示录
Aug 12 Javascript
javascript去除字符串左右两端的空格
Feb 05 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
Jun 10 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
May 16 Javascript
基于javascript实现最简单的选项卡切换效果
May 16 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
Nov 18 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
Feb 20 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
Jul 28 Javascript
Vue.js组件间的循环引用方法示例
Dec 27 Javascript
详解Typescript 内置的模块导入兼容方式
May 31 Javascript
微信小程序开发(二):页面跳转并传参操作示例
Jun 01 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
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
php中变量及部分适用方法
2008/03/27 PHP
在php和MySql中计算时间差的方法
2011/04/22 PHP
php入门之连接mysql数据库的一个类
2012/04/21 PHP
写一段简单的PHP建立文件夹代码
2015/01/06 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
2016/03/03 PHP
php加密解密字符串示例
2016/10/13 PHP
laravel实现查询最后执行的一条sql语句的方法
2019/10/09 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
JS cookie中文乱码解决方法
2014/01/28 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
2017/03/08 Javascript
jQuery ajax实现省市县三级联动
2021/03/07 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
JS自定义右键菜单实现代码解析
2020/07/16 Javascript
如何实现小程序与小程序之间的跳转
2020/11/04 Javascript
python 不关闭控制台的实现方法
2011/10/23 Python
Python中的super()方法使用简介
2015/08/14 Python
Python求算数平方根和约数的方法汇总
2016/03/09 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
python输出100以内的质数与合数实例代码
2018/07/08 Python
Django 限制用户访问频率的中间件的实现
2018/08/23 Python
对web.py设置favicon.ico的方法详解
2018/12/04 Python
Python Flask 搭建微信小程序后台详解
2019/05/06 Python
Python PO设计模式的具体使用
2019/08/16 Python
Win10下python 2.7与python 3.7双环境安装教程图解
2019/10/12 Python
python处理写入数据代码讲解
2020/10/22 Python
Html5新标签datalist实现输入框与后台数据库数据的动态匹配
2017/05/18 HTML / CSS
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
历史专业毕业生的自我鉴定
2013/11/15 职场文书
《美丽的小兴安岭》教学反思
2014/02/26 职场文书
签约仪式策划方案
2014/06/02 职场文书
高中生期中考试失利检讨书
2014/10/23 职场文书
如何优化vue打包文件过大
2022/04/13 Vue.js