JS代码片段

1. 对比cookie

 1 // cookie array
 2 
 3 function getCookieArrayByStr(str)
 4 {
 5     var cookies = str.split("; ");
 6     var cookieObj = {}
 7     for (var i=0; i<cookies.length; i++)
 8     {
 9         var line = cookies[i];
10         var pos = line.indexOf("=");
11         var key = line.substr(0, pos);
12         var val = line.substr(pos+1);
13         cookieObj[key] = val;
14     }
15     return cookieObj;
16 }
17 
18 function getCookieArray()
19 {
20     return getCookieArrayByStr(document.cookie);
21 }
22 
23 
24 function compareCookie(strOldCookie)
25 {
26     var objOld = getCookieArrayByStr(strOldCookie);
27     var objNew = getCookieArray();
28     
29     var oldOnly = {};
30     var newOnly = {};
31     var diff = {};
32     
33     for (var key1 in objOld)
34     {
35         var val1 = objOld[key1];
36         var val2 = objNew[key1];
37         if (typeof(val2) == "undefined")
38         {
39             oldOnly[key1] = val1;
40         }
41         else
42         {
43             if (val1 != val2)
44             {
45                 diff[key1] = {oldVal: val1, newVal: val2};
46             }
47         }
48     }
49     
50     
51     for (var key2 in objNew)
52     {
53         var val1 = objOld[key2];
54         var val2 = objNew[key2];
55         if (typeof(val1) == "undefined")
56         {
57             newOnly[key2] = val2;
58         }
59     }
60     
61     var retObj = {};
62     retObj.__OLDO = oldOnly;
63     retObj.__NEWO = newOnly;
64     retObj.__DIFF = diff;
65     
66     return retObj;
67 }
68 
69 var strOldCookie = "cookieUserId=1386816500920952; cuid=1386816500920605"
70 
71 var ret = compareCookie(strOldCookie);
原文地址:https://www.cnblogs.com/matrixchen/p/3470783.html