js對象的比較
来源:互联网 发布:.php是什么文件 编辑:程序博客网 时间:2024/06/11 14:33
項目中需要比較兩個對象是否相等,給Object對象開展了(別緊張,別說我把它污染了),一個實現而已,象java一樣可以只給自己想要的類重寫equals方法。
- 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
- js對象的比較
- PHP比你想象的好得多
- PHP比你想象的更好
- PHP比你想象的好得多
- PHP比你想象的好得多
- Swing 其实比你想象的美
- 简述 Docker比你想象的简单
- 原来,程序的世界远比我想象的精彩
- 對象的實例化
- 线上环境永远比你想象的复杂
- 数控自动编程软件比你想象的更方便!
- 比你想象中还要强大的枚举类型
- 这世界远比你想象的好
- 使用Python创建AI比你想象的轻松
- js封装成对象的例子
- js封装成对象的例子
- 談JS面向對象【靜態與非靜態類】
- 影響最深的面向對象
- Oracle
- 配置ids的步骤
- Java 5种字符串拼接方式性能比较
- 减少Flex应用加载时间的几种方法
- 关于spring的IOC
- js對象的比較
- linux下cvs服务器端配置以及wincvs的使用
- sql查询语句性能问题及编写时需要注意的地方
- 国内开源人士博客汇粹
- eclipse3.4 (ganymede) 集成了 tomcat plugin !
- 国内电子论文的收费和封闭性阻碍了中国技术的发展
- 废品 Scrap
- 自由地思考——保护思想环境
- [MSSQL]SQL语句优化- while循环使用