成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

本地存儲(chǔ)localStorage以及它的封裝接口store.js的使用

xiaolinbang / 1670人閱讀

摘要:本地存儲(chǔ)是提供的在客戶端存儲(chǔ)數(shù)據(jù)的新方法,主要作用是將數(shù)據(jù)保存在客戶端中,并且數(shù)據(jù)是永久保存的,除非人為干預(yù)刪除。的使用的基本有存儲(chǔ)的值為獲取的值移除的記錄清空存儲(chǔ)返回所有存儲(chǔ)遍歷所有存儲(chǔ)。

本地存儲(chǔ)localstorage

localstorage 是 HTML5 提供的在客戶端存儲(chǔ)數(shù)據(jù)的新方法,主要作用是將數(shù)據(jù)保存在客戶端中,并且數(shù)據(jù)是永久保存的,除非人為干預(yù)刪除。

localstorage作為本地存儲(chǔ)來使用,解決了cookie存儲(chǔ)空間不足的問題:cookie中每條cookie的存儲(chǔ)空間為4k,但localStorage的存儲(chǔ)空間有5M大小。另外,相比于cookie,localStorage可以節(jié)約帶寬,在同一個(gè)域內(nèi),瀏覽器每次向服務(wù)器發(fā)送請(qǐng)求,http都會(huì)帶著cookie,使cookie在瀏覽器和服務(wù)器之間來回傳遞,浪費(fèi)帶寬,但localStorage將第一次請(qǐng)求的數(shù)據(jù)直接存儲(chǔ)到本地,避免了來回傳遞。

localstorage 的局限
1、只有版本較高的瀏覽器中才支持 localstorage
2、localStorage的值的類型限定為string類型,使用 JSON 時(shí)需轉(zhuǎn)換
3、如果存儲(chǔ)內(nèi)容過多會(huì)消耗內(nèi)存空間,導(dǎo)致頁面變卡,因?yàn)閘ocalStorage本質(zhì)上是對(duì)字符串的讀取

localstorage 有兩種方法:分別是 localstoragesessionStorage 。sessionStorage 方法針對(duì)一個(gè) session 進(jìn)行數(shù)據(jù)存儲(chǔ)。當(dāng)用戶關(guān)閉瀏覽器窗口后,數(shù)據(jù)會(huì)被刪除。localStorage與sessionStorage的唯一區(qū)別就是localStorage屬于永久性存儲(chǔ),而sessionStorage在當(dāng)會(huì)話結(jié)束的時(shí)候,sessionStorage中的鍵值對(duì)會(huì)被清空。

localstorage的用法
我們?cè)谑褂胠ocalStorage的時(shí)候,需要先判斷瀏覽器是否支持localStorage這個(gè)屬性:

if(window.localStorage){
 alert("瀏覽器支持localStorage");
 
 }else{
 alert("瀏覽器支持localStorage");
 }??

接下來分別是它的寫入、讀取、刪除

//localStorage的寫入
var storage=window.localStorage;
 storage["a"]=1;   //寫入a字段
 storage.b=2;   //寫入b字段
 storage.setItem("c",3);   //寫入c字段
 console.log(typeof storage["a"]);  //string
 console.log(typeof storage["b"]);  //string
 console.log(typeof storage["c"]);??//string 
//localStorage的讀取
var a=storage.a;
 console.log(a);  //1
var b=storage["b"];
 console.log(b);  //2
var c=storage.getItem("c");
 console.log(c);??  //3
//localStorage的刪除
storage.clear();  //將localStorage的所有內(nèi)容清除

使用key()方法,獲取相應(yīng)的鍵

var storage=window.localStorage;
 storage.a=1;
 storage.setItem("c",3);
 for(var i=0;i

對(duì)用戶訪問頁面的次數(shù)進(jìn)行計(jì)數(shù):

if(localStorage.pagecount){
 localStorage.pagecount = Number(localStorage.pagecount)+1;
 }else{
 localStorage.pagecount = 1;
 }
 document.write("你第"+localStorage.pagecount+"訪問該頁面");??

sessionStorage的用法和localStorage一樣用法和localStorage一樣,但是關(guān)閉計(jì)數(shù)頁面后再打開時(shí)會(huì)重新開始計(jì)數(shù)。

store.js

GitHub地址
store.js 是一個(gè)兼容所有瀏覽器的 LocalStorage 包裝器,不需要借助 Cookie 或者 Flash來實(shí)現(xiàn)。它提供非常了簡(jiǎn)潔的 API 來實(shí)現(xiàn)跨瀏覽器的本地存儲(chǔ)功能。

store.js的使用

store.js的基本API有:

store.set(key, val)  //存儲(chǔ) key 的值為 val;
store.get(key)  //獲取 key 的值;
store.remove(key) //移除 key 的記錄;
store.clear()  //清空存儲(chǔ);
store.getAll() //返回所有存儲(chǔ);
store.forEach() //遍歷所有存儲(chǔ)。

使用store.js提供的方法,需要先引入store.min.js插件:

 

首先判斷瀏覽器是否支持本地存儲(chǔ)

  

set
單個(gè)存儲(chǔ)字符
格式:store.set(key, data[, overwrite]);

store.set("name","mavis"); //存儲(chǔ)name的值為 mavis
store.set("name","angel");  //將name的值存儲(chǔ)為angel

在控制臺(tái)顯示

get
獲取存入的key值
格式:store.get(key[, alt])

store.set("name","mavis");
store.set("name","angel");
store.get("name");  //angel

remove
移除key的記錄

store.remove("name");

在控制臺(tái)可以看到name的值已經(jīng)被移除

clear
清除所有本地存儲(chǔ):store.clear();

getAll
從所有存儲(chǔ)中獲取值
格式:store.getAll()

store.set("name","mavis");
store.getAll().user.name == "mavis";   //true

forEach
遍歷所有的值

store.set("user",{name:"mavis",likes:"javascript"}); // 存儲(chǔ)對(duì)象 - 自動(dòng)調(diào)用 JSON.stringify
var user = store.get("user"); // 獲取存儲(chǔ)的對(duì)象 - 自動(dòng)執(zhí)行 JSON.parse
store.forEach(function(key, val) {
                  console.log(key, "==", val)
            })  // 遍歷所有存儲(chǔ)

使用store,js簡(jiǎn)化了使用localStorage原生方法的操作

LocalStorage 并沒有提供過期時(shí)間接口,只能通過存儲(chǔ)時(shí)間做比對(duì)實(shí)現(xiàn)。

最后介紹一下在瀏覽器中查看LocalStorage的方法:F12打開開發(fā)人員工具→Application→Storage→LocalStorage

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/80981.html

相關(guān)文章

  • 本地存儲(chǔ)localStorage封裝,提供簡(jiǎn)單API

    摘要:是一個(gè)實(shí)現(xiàn)了瀏覽器的本地存儲(chǔ)的封裝,不是通過和技術(shù)實(shí)現(xiàn),而是使用。小弟我主要是用于,,手機(jī)等先進(jìn)瀏覽器里面跑。 showImg(https://img.shields.io/github/issues/jaywcjlove/store.js.svg); showImg(https://img.shields.io/github/forks/jaywcjlove/store.js.svg...

    Miyang 評(píng)論0 收藏0
  • 推薦輕量高效無依賴開源JS插件和庫

    摘要:彈出層是一個(gè)輕量級(jí)的庫用于管理工具提示和彈窗效果。一個(gè)帶有的跨瀏覽器富文本編輯器。由制作,適用于每天寫作的富文本編輯器。輕量的操作庫。是一個(gè)快速簡(jiǎn)單輕量級(jí)的瀏覽器功能檢測(cè)庫。它沒有任何的依賴,并且壓縮后僅有。極小跨平臺(tái)的全屏插件。 在這里維持一個(gè)持續(xù)更新的地方 圖片 baguetteBox.js - 是一個(gè)簡(jiǎn)單易用的響應(yīng)式圖像燈箱效果腳本。demo Lightgallery.js -...

    AlphaWallet 評(píng)論0 收藏0
  • 推薦輕量高效無依賴開源JS插件和庫

    摘要:彈出層是一個(gè)輕量級(jí)的庫用于管理工具提示和彈窗效果。一個(gè)帶有的跨瀏覽器富文本編輯器。由制作,適用于每天寫作的富文本編輯器。輕量的操作庫。是一個(gè)快速簡(jiǎn)單輕量級(jí)的瀏覽器功能檢測(cè)庫。它沒有任何的依賴,并且壓縮后僅有。極小跨平臺(tái)的全屏插件。 在這里維持一個(gè)持續(xù)更新的地方 圖片 baguetteBox.js - 是一個(gè)簡(jiǎn)單易用的響應(yīng)式圖像燈箱效果腳本。demo Lightgallery.js -...

    lushan 評(píng)論0 收藏0
  • 推薦輕量高效無依賴開源JS插件和庫

    摘要:彈出層是一個(gè)輕量級(jí)的庫用于管理工具提示和彈窗效果。一個(gè)帶有的跨瀏覽器富文本編輯器。由制作,適用于每天寫作的富文本編輯器。輕量的操作庫。是一個(gè)快速簡(jiǎn)單輕量級(jí)的瀏覽器功能檢測(cè)庫。它沒有任何的依賴,并且壓縮后僅有。極小跨平臺(tái)的全屏插件。 在這里維持一個(gè)持續(xù)更新的地方 圖片 baguetteBox.js - 是一個(gè)簡(jiǎn)單易用的響應(yīng)式圖像燈箱效果腳本。demo Lightgallery.js -...

    shuibo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<