本文實例講述了JavaScript實作基於Cookie的儲存類別。分享給大家供大家參考。具體分析如下:
透過這個JS類,你可以像使用session一樣使用cookie,非常簡單了!
/* * CookieStorage.js * 本类实现像localStorage和sessionStorage一样的存储API * 不同的是,它是基于HTTP Cookies实现的. */ function CookieStorage(maxage, path) { // 两个参数分别代表储存有效期和作用域 // 获取一个储存全部cookies的对象 var cookies = (function() { // 类型之前介绍的getCookies函数 var cookies = {}; // 该对象最终会返回 var all = document.cookie; // 以大字符串的形式获取所有cookies的信息 if (all === "") // 如果该属性为空白符 return cookies; // 返回一个空对象 var list = all.split("; "); // 分离出名/值对 for(var i = 0; i < list.length; i++) { // 遍历每个cookie var cookie = list[i]; var p = cookie.indexOf("="); // 找到第一个“=”符号 var name = cookie.substring(0,p); // 获取cookie的名字 var value = cookie.substring(p+1); // 获取cookie对应的值 value = decodeURIComponent(value); // 对其值进行解码 cookies[name] = value; // 将名值对存储到对象中 } return cookies; }()); // 将所有cookie的名字存储到一个数组中 var keys = []; for(var key in cookies) keys.push(key); // 现在定义储存API公共的属性和方法 // 储存的cookies的个数 this.length = keys.length; // 返回第n个cookie的名字,如果n越界则返回null this.key = function(n) { if (n < 0 || n >= keys.length) return null; return keys[n]; }; // 返回指定名字的cookie值,如果不存在则返回null this.getItem = function(name){ return cookies[name] || null; }; // 储存cookie值 this.setItem = function(key, value) { if (!(key in cookies)) { // 如果要促成的cookie还不存在 keys.push(key); // 将指定的名字加入到储存所有cookie名的数组中 this.length++; // cookies个数加一 } // 将该名/值对数据存储到cookie对象中. cookies[key] = value; // 开始正式设置cookie. // 首先将要储存的cookie的值进行编码 // 同时创建一个“名称=编码后的值”形式的字符串 var cookie = key + "=" + encodeURIComponent(value); // 将cookie的属性也加入到该字符串中 if (maxage) cookie += "; max-age=" + maxage; if (path) cookie += "; path=" + path; // 通过document.cookie属性来设置cookie document.cookie = cookie; }; // 删除指定的cookie this.removeItem = function(key) { if (!(key in cookies)) return; // 如果cookie不存在,则什么也不做 // 从内部维护的cookies组删除指定的cookie delete cookies[key]; // 同时将cookie中的名字也在内部的数组中删除. // 如果使用ES5定义的数组indexOf()方法会更加简单. for(var i = 0; i < keys.length; i++) { // 遍历所有的名字 if (keys[i] === key) { // 当我们找到了要找的那个 keys.splice(i,1); // 将它从数组中删除. break; } } this.length--; // cookies个数减一 // 最终通过将该cookie的值设置为空字符串 //以及将有效期设置为0来删除指定的cookie. document.cookie = key + "=; max-age=0"; }; // 删除所有的cookies this.clear = function() { // 循环所有的cookies的名字,并将cookies删除 for(var i = 0; i < keys.length; i++) document.cookie = keys[i] + "=; max-age=0"; // 重置所有的内部状态 cookies = {}; keys = []; this.length = 0; }; }
希望本文所述對大家的javascript程式設計有所幫助。

javaandjavascriptaredistinctlanguages:javaisusedforenterpriseandmobileapps,while javascriptifforInteractiveWebpages.1)JavaisComcompoppored,statieldinglationallyTypted,statilly tater astrunsonjvm.2)

JavaScript核心數據類型在瀏覽器和Node.js中一致,但處理方式和額外類型有所不同。 1)全局對像在瀏覽器中為window,在Node.js中為global。 2)Node.js獨有Buffer對象,用於處理二進制數據。 3)性能和時間處理在兩者間也有差異,需根據環境調整代碼。

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具