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 相关文章推荐
Javascript Math对象
Aug 13 Javascript
javascript高级学习笔记整理
Aug 14 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
Jun 09 Javascript
jquery 取子节点及当前节点属性值的方法
Aug 24 Javascript
JavaScript判断变量是否为空的自定义函数分享
Jan 31 Javascript
Javascript模仿淘宝信用评价实例(附源码)
Nov 26 Javascript
JS简单编号生成器实现方法(附demo源码下载)
Apr 05 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
Jun 29 Javascript
纯javascript版日历控件
Nov 24 Javascript
利用jQuery解析获取JSON数据
Apr 08 jQuery
angular2模块和共享模块详解
Apr 08 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
Nov 19 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
php的$_FILES的临时储存文件与回收机制实测过程
2013/07/12 PHP
JS实现仿QQ聊天窗口抖动特效
2015/05/10 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
javaScript中的原型解析【推荐】
2016/05/05 Javascript
IE8兼容Jquery.validate.js的问题
2016/12/01 Javascript
原生js验证简洁注册登录页面
2016/12/17 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
2017/01/21 Javascript
值得收藏的vuejs安装教程
2017/11/21 Javascript
Vuejs中使用markdown服务器端渲染的示例
2017/11/22 Javascript
jQuery与vue实现拖动验证码功能
2018/01/30 jQuery
JavaScript使用闭包模仿块级作用域操作示例
2019/01/21 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
[00:33]DOTA2上海特级锦标赛 CDEC战队宣传片
2016/03/04 DOTA
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
python中的hashlib和base64加密模块使用实例
2014/09/02 Python
Python实现的数据结构与算法之队列详解
2015/04/22 Python
python通过邮件服务器端口发送邮件的方法
2015/04/30 Python
Python和Perl绘制中国北京跑步地图的方法
2016/03/03 Python
mysql 之通过配置文件链接数据库
2017/08/12 Python
Python基于socket模块实现UDP通信功能示例
2018/04/10 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
Python几种常见算法汇总
2020/06/02 Python
香港时尚女装购物网站:ZAFUL
2017/07/19 全球购物
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
中专毕业生自我鉴定范文
2013/11/09 职场文书
中学教师管理制度
2014/01/14 职场文书
群众路线剖析材料
2014/02/02 职场文书
三八节主持词
2014/03/17 职场文书
公司户外活动总结
2014/07/04 职场文书
四风问题个人剖析材料
2014/10/07 职场文书
保洁员岗位职责
2015/02/04 职场文书
PostgreSQL将数据加载到buffer cache中操作方法
2021/04/16 PostgreSQL
MySQL下使用Inplace和Online方式创建索引的教程
2021/05/26 MySQL
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
2022/05/25 SQL Server