首页 > Web开发 > 详细

js对象比较

时间:2014-03-26 01:29:20      阅读:441      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
 1 Object.prototype.equals = function(obj) {
 2         if (this == obj)
 3             return true;
 4         if (typeof(obj) == "undefined" || obj == null || typeof(obj) != "object")
 5             return false;
 6         var length = 0;
 7         var length1 = 0;
 8         for (var ele in this) {
 9             length++;
10         }
11         for (var ele in obj) {
12             length1++;
13         }
14         if (length != length1)
15             return false;
16         if (obj.constructor == this.constructor) {
17             for (var ele in this) {
18                 if (typeof(this[ele]) == "object") {
19                     if (!this[ele].equals(obj[ele]))
20                         return false;
21                 } else if (typeof(this[ele]) == "function") {
22                     if (!this[ele].toString().equals(obj[ele].toString()))
23                         return false;
24                 } else if (this[ele] != obj[ele])
25                     return false;
26             }
27             return true;
28         }
29         return false;
30     };
31     var p1 = {
32         name: "jack",
33         age: 18
34     };
35     var p2 = {
36         name: "lucy",
37         age: 10
38     };
39     var p3 = {
40         name: "jack",
41         age: 18
42     };
43     console.log(p1.equals(p2)); //false 
44     console.log(p1.equals(p3)); //true 
45     console.log(p1.equals({
46         name: "jack",
47         age: 18
48     })); //true
bubuko.com,布布扣

js对象比较,布布扣,bubuko.com

js对象比较

原文:http://www.cnblogs.com/yygZfx/p/3623380.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!