HTML5之LocalStorage本地存儲(chǔ)

微信圖片_20171027102831.jpg

一、本地存儲(chǔ)

在HTML5誕生之前,網(wǎng)站如果想在瀏覽器端存儲(chǔ)數(shù)據(jù),只能使用Cookie,使用Cookie有較多的限制。

Cookie問(wèn)題:

1.cookie大小限制在4K左右(各個(gè)瀏覽器不一致)

2.cookie每次隨著HTTP請(qǐng)求都會(huì)一起發(fā)送(造成很多不需要的cookie也會(huì)一起發(fā)送)

本地存儲(chǔ):

1.localStorage大小限制在5M(各個(gè)瀏覽器不一致)

2.localStorage不會(huì)隨著HTTP請(qǐng)求一起發(fā)送

二、會(huì)話級(jí)別的本地存儲(chǔ)-sessionStorage

sessionStorage:用戶瀏覽某個(gè)網(wǎng)站時(shí),從進(jìn)入網(wǎng)站開(kāi)始一直到關(guān)閉網(wǎng)站,這就是session對(duì)象的有效期。

sessionStorage提供了四種方法對(duì)本地存儲(chǔ)做相關(guān)操作。

  1. setItem( key, value );添加本地存儲(chǔ)數(shù)據(jù)

2.getItem( key );通過(guò)key獲取相應(yīng)的value值

3.removeItem( key ); 通過(guò)key刪除相應(yīng)的value值

4.clear();清空本地所有(限本域名下)session數(shù)據(jù)

<script type="text/javascript"> 2
 //添加key-value 數(shù)據(jù)到sessionStorage 
 sessionStorage.setItem("name", "螢火蟲(chóng)de夢(mèng)"); 
sessionStorage.setItem("job", "前端");
//通過(guò)key來(lái)獲取value 
var name = sessionStorage.getItem("name");
console.log(name); 
 console.log(sessionStorage.length);
// 通過(guò)key刪除value
 sessionStorage.removeItem("job");
console.log(sessionStorage.length); 
//清空所有的key-value數(shù)據(jù)。
sessionStorage.clear();
console.log(sessionStorage.length); 
 </script>

三、永久本地存儲(chǔ)-localStorage

localStorage:用于持久化的本地存儲(chǔ),除非主動(dòng)刪除數(shù)據(jù),否則數(shù)據(jù)是永遠(yuǎn)不會(huì)過(guò)期的。

localStorage提供了四種方法對(duì)本地存儲(chǔ)做相關(guān)操作。

  1. setItem( key, value );添加本地存儲(chǔ)數(shù)據(jù)

2.getItem( key );通過(guò)key獲取相應(yīng)的value值

3.removeItem( key ); 通過(guò)key刪除相應(yīng)的value值

4.clear();清空本地所有數(shù)據(jù)

<script type="text/javascript"> 2 
//添加key-value 數(shù)據(jù)到 sessionStorage 
 localStorage.setItem("name", "螢火蟲(chóng)de夢(mèng)"); 
localStorage.setItem("job", "前端"); 
//通過(guò)key來(lái)獲取value
var name = localStorage.getItem("name");
 console.log(name); 
console.log(localStorage.length);
 // 通過(guò)key刪除value
localStorage.removeItem("job");
 console.log(localStorage.length); 
 //清空所有的key-value數(shù)據(jù)。
 localStorage.clear();
 console.log(localStorage.length);
 </script>

四、總結(jié)

localStorage與sessionStorage 兩種區(qū)別就是一個(gè)臨時(shí)保存,一個(gè)長(zhǎng)期保存。

你可能見(jiàn)過(guò)下面這種寫(xiě)法:

<script type="text/javascript">
//設(shè)置name3 
localStorage.name = "螢火蟲(chóng)de夢(mèng)"
 // 刪除name
delete localStorage.name
 </script>

上面直接賦值的方法確實(shí)可以實(shí)現(xiàn)功能,但是官方文檔中將其定義為一種不安全的寫(xiě)法,所以不要用這種寫(xiě)法,使用localStorage提供的方法。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容