js对象的比较


Posted in Javascript onFebruary 26, 2011
Object.prototype.equals = function(obj){ 
if(this == obj) 
return true; 
if(typeof(obj)=="undefined"||obj==null||typeof(obj)!="object") 
return false; 
var length = 0; var length1=0; 
for(var ele in this) { 
length++; 
} 
for(var ele in obj) { 
length1++; 
} 
if(length!=length1) 
return false; 
if(obj.constructor==this.constructor){ 
for(var ele in this){ 
if(typeof(this[ele])=="object") { 
if(!this[ele].equals(obj[ele])) 
return false; 
} 
else if(typeof(this[ele])=="function"){ 
if(!this[ele].toString().equals(obj[ele].toString())) 
return false; 
} 
else if(this[ele]!=obj[ele]) 
return false; 
} 
return true; 
} 
return false; 
};

示例如下:
var p1 = {name:"jack",age:18}; 
var p2 = {name:"lucy",age:10}; 
var p3 = {name:"jack",age:18}; 
console.log(p1.equals(p2));//false 
console.log(p1.equals(p3));//true 
console.log(p1.equals({name:"jack",age:18}));//true
Javascript 相关文章推荐
基于Asp.net与Javascript控制的日期控件
May 22 Javascript
THREE.JS入门教程(2)着色器-上
Jan 24 Javascript
js使用循环清空某个div中的input标签值
Sep 29 Javascript
jQuery实现鼠标点击弹出渐变层的方法
Jul 09 Javascript
JavaScript前端开发之实现二进制读写操作
Nov 04 Javascript
jQuery代码性能优化的10种方法
Jun 21 Javascript
微信小程序实现图片预加载组件
Jan 18 Javascript
js实现下拉框效果(select)
Mar 28 Javascript
jQuery中的deferred对象和extend方法详解
May 08 jQuery
angular6 填坑之sdk的方法
Dec 27 Javascript
Vuepress 搭建带评论功能的静态博客的实现
Feb 17 Javascript
详解在React项目中安装并使用Less(用法总结)
Mar 18 Javascript
基于jquery循环map功能的代码
Feb 26 #Javascript
textarea中的手动换行处理的jquery代码
Feb 26 #Javascript
JS 面向对象之神奇的prototype
Feb 26 #Javascript
js 创建书签小工具之理论
Feb 25 #Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
Feb 25 #Javascript
Javascript中定义方法的另类写法(批量定义js对象的方法)
Feb 25 #Javascript
23个Javascript弹出窗口特效整理
Feb 25 #Javascript
You might like
ADODB类使用
2006/11/25 PHP
使用phpQuery采集网页的方法
2013/11/13 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
php表单处理操作
2017/11/16 PHP
让你的PHP,APACHE,NGINX支持大文件上传
2021/03/09 PHP
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
Google (Local) Search API的简单使用介绍
2013/11/28 Javascript
JavaScript函数获取事件源的小例子
2014/05/14 Javascript
ionic 上拉菜单(ActionSheet)实例代码
2016/06/06 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
Angular directive递归实现目录树结构代码实例
2017/05/05 Javascript
JavaScript面向对象程序设计创建对象的方法分析
2018/08/13 Javascript
Javascript三种字符串连接方式及性能比较
2019/05/28 Javascript
layui table复选框禁止某几条勾选的实例
2019/09/20 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
讲解python参数和作用域的使用
2013/11/01 Python
python将list转为matrix的方法
2018/12/12 Python
关于初始种子自动选取的区域生长实例(python+opencv)
2020/01/16 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
2020/05/26 Python
Scrapy项目实战之爬取某社区用户详情
2020/09/17 Python
CSS3 icon font完全指南(CSS3 font 会取代icon图标)
2013/01/06 HTML / CSS
基于HTML5+Webkit实现树叶飘落动画
2017/12/28 HTML / CSS
Nisbets法国:英国最大的厨房和餐饮设备供应商
2019/03/18 全球购物
十岁生日家长答谢词
2014/01/17 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
建筑横幅标语
2014/10/09 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
2014年作风建设心得体会
2014/10/22 职场文书
2014年妇委会工作总结
2014/12/10 职场文书
内乡县衙导游词
2015/02/05 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
个人的事迹材料怎么写
2019/04/24 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
如何自己动手写SQL执行引擎
2021/06/02 MySQL
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android
Mysql多层子查询示例代码(收藏夹案例)
2022/03/31 MySQL