本文章记录本人在学习 Cookie 中看书理解到的一些东西,加深记忆和而且整理记录下来,方便以后的复习。数组
在默认的状况下存取Cookie
是一件比较麻烦的事情。因为Cookie
是经过字符串来存储信息的,因此容易致使在执行赋值运算的时须要转换读取信息的数据类型。并且Cookie
信息的字符串自己就使人讨厌,在常常使用Cookie
信息的 Web 应用中格外的不方便。因此须要自行的封装一个Cookie
函数来提供开发效率!安全
定义一个函数Cookie()
,这个函数可以写入指定的Cookie
信息,删除指定的Cookie
信息,也可以读取指定名称的Cookie
值,另外,在该函数中还能够制定Cookie
信息的有效期、有效路径、做用域和安全性选项设置。完整的代码:cookie
JavaScriptvar Cookie = function(name, value, options) { // 若是第二个参数存在 if (typeof value != 'undefined') { options = options || {}; if (value === null) { // 设置失效时间 options.expires = -1; } var expires = ''; // 若是存在事件参数项,而且类型为 number,或者具体的时间,那么分别设置事件 if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { var date; if (typeof options.expires == 'number') { date = new Date(); date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); } else { date = options.expires; } expires = '; expires=' + date.toUTCString(); } var path = options.path ? '; path=' + options.path : '', // 设置路径 domain = options.domain ? '; domain=' + options.domain : '', // 设置域 secure = options.secure ? '; secure' : ''; // 设置安全措施,为 true 则直接设置,不然为空 // 把全部字符串信息都存入数组,而后调用 join() 方法转换为字符串,并写入 Cookie 信息 document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); } else { // 若是第二个参数不存在 var CookieValue = null; if (document.cookie && document.cookie != '') { var Cookie = document.cookie.split(';'); for (var i = 0; i < Cookies.length; i++) { var Cookie = (Cookie[i] || "").replace( /^\s+|\s+$/g, ""); if (Cookie.substring(0, name.length + 1) == (name + '=')) { CookieValue = decodeURIComponent(Cookie.substring(name.length + 1)); break; } } } return CookieValue; } };
Cookie
信息:JavaScript// 简单写入一条 Cookie 信息 cookie("user", "baidu"); // 写入一条 Cookie 信息,而且设置更多选项 cookie("user", "baidu", { expires: 10, // 有效期为 10 天 path: "/", // 整个站点有效 domain: "www.baidu2.com", // 有效域名 secure: true // 加密数据传输 });
2.读取Cookie
信息:dom
JavaScriptcookie("user");
3.删除Cookie
信息:函数
JavaScriptcookie("user", null);
最后,若是文章有什么错误和疑问的地方,请指出。与sf各位共勉!学习