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 相关文章推荐
httpclient模拟登陆具体实现(使用js设置cookie)
Dec 11 Javascript
二叉树的非递归后序遍历算法实例详解
Feb 07 Javascript
jQuery Ajax使用FormData对象上传文件的方法
Sep 07 Javascript
javascript self对象使用详解
Oct 18 Javascript
React学习笔记之事件处理(二)
Jul 02 Javascript
在Vue methods中调用filters里的过滤器实例
Aug 30 Javascript
react+ant design实现Table的增、删、改的示例代码
Dec 27 Javascript
vue按需加载实例详解
Sep 06 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
Nov 20 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
Jan 02 Javascript
VSCode搭建Vue项目的方法
Apr 30 Javascript
微信小程序实现自定义底部导航
Nov 18 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
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
PHP 危险函数全解析
2009/09/09 PHP
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
2014/01/19 PHP
php function用法如何递归及return和echo区别
2014/03/07 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
PHP面向对象之事务脚本模式(详解)
2017/06/07 PHP
js 实现无干扰阴影效果 简单好用(附文件下载)
2009/12/27 Javascript
jquery nth-child()选择器的简单应用
2010/07/10 Javascript
Jqyery中同等与js中windows.onload的应用
2011/05/10 Javascript
jQuery实用函数用法总结
2014/08/29 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
ECMAScript 5严格模式(Strict Mode)介绍
2015/03/02 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
2016/10/10 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
2016/11/16 Javascript
windows 下安装nodejs 环境变量设置
2017/02/02 NodeJs
jQuery选择器之属性筛选选择器用法详解
2017/09/19 jQuery
ES6 javascript的异步操作实例详解
2017/10/30 Javascript
JS实现二维数组横纵列转置的方法
2018/04/17 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
2019/06/24 Javascript
vue或react项目生产环境去掉console.log的操作
2020/09/02 Javascript
Python使用cookielib模块操作cookie的实例教程
2016/07/12 Python
python使用KNN算法手写体识别
2018/02/01 Python
python数字图像处理实现直方图与均衡化
2018/05/04 Python
Python实现的读取/更改/写入xml文件操作示例
2018/08/30 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
Python获取二维数组的行列数的2种方法
2020/02/11 Python
CSS3弹性盒模型开发笔记(三)
2016/04/26 HTML / CSS
mui几种页面跳转方式对比总结概括
2017/08/18 HTML / CSS
Bluebella法国官网:英国性感内衣品牌
2019/05/03 全球购物
可靠的数据流传输TCP
2016/03/15 面试题
个人党性剖析材料
2014/02/03 职场文书
学党史心得体会
2014/09/05 职场文书
2014年初一班主任工作总结
2014/11/08 职场文书
2014年综治维稳工作总结
2014/11/17 职场文书
MySQL如何解决幻读问题
2021/08/07 MySQL