欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript本地儲(chǔ)存:localStorage、sessionStorage、cookie的使用

 更新時(shí)間:2020年10月13日 15:58:44   作者:失憶癥患者1  
這篇文章主要介紹了JavaScript本地儲(chǔ)存:localStorage、sessionStorage、cookie的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

javaScript有三種數(shù)據(jù)存儲(chǔ)方式,分別是:

  • sessionStorage
  • localStorage
  • cookier

1. sessionStorage

  • sessionStorage僅在當(dāng)前會(huì)話下有效,關(guān)閉頁(yè)面或?yàn)g覽器后被清除;
  • setItem(key,value) 設(shè)置數(shù)據(jù)
  • getItem(key) 獲取數(shù)據(jù)
  • removeItem(key) 移除數(shù)據(jù)
  • clear() 清除所有值
<script>
  // 添加數(shù)據(jù)
  window.sessionStorage.setItem("name","李四")
  window.sessionStorage.setItem("age",18)
  // 獲取數(shù)據(jù)
  console.log(window.sessionStorage.getItem("name")) // 李四
  // 清除某個(gè)數(shù)據(jù)
  window.sessionStorage.removeItem("gender")
  // 清空所有數(shù)據(jù)
  window.sessionStorage.clear()
</script>

2. localStorage

  • localStorage 是 HTML5 標(biāo)準(zhǔn)中新加入的技術(shù),用于長(zhǎng)久保存整個(gè)網(wǎng)站的數(shù)據(jù),保存的數(shù)據(jù)沒有過期時(shí)間,直到手動(dòng)去刪除;
  • localStorage和sessionStorage最大一般為5MB,僅在客戶端(即瀏覽器)中保存,不參與和服務(wù)器的通信;
  • setItem(key,value) 設(shè)置數(shù)據(jù)
  • getItem(key) 獲取數(shù)據(jù)
  • removeItem(key) 移除數(shù)據(jù)
  • clear() 清除所有值
<script>
  // 添加數(shù)據(jù)
  window.localStorage.setItem("name","張三")
  window.localStorage.setItem("age",20)
  window.localStorage.setItem("gender","男")
  // 獲取數(shù)據(jù)
  console.log(window.localStorage.getItem("name")) // 張三
  // 清除某個(gè)數(shù)據(jù)
  window.localStorage.removeItem("gender")
  // 清空所有數(shù)據(jù)
  window.localStorage.clear()
</script>

3. cookier

簡(jiǎn)介
Cookie 是一些數(shù)據(jù), 存儲(chǔ)于你電腦上的文本文件中,用于存儲(chǔ) web 頁(yè)面的用戶信息
Cookie 數(shù)據(jù)是以鍵值對(duì)的形式存在的,每個(gè)鍵值對(duì)都有過期時(shí)間。如果不設(shè)置時(shí)間,瀏覽器關(guān)閉,cookie就會(huì)消失,當(dāng)然用戶也可以手動(dòng)清除cookie
 Cookie每次都會(huì)攜帶在HTTP頭中,如果使用cookie保存過多數(shù)據(jù)會(huì)帶來性能問題
Cookie內(nèi)存大小受限,一般每個(gè)域名下是4K左右,每個(gè)域名大概能存儲(chǔ)50個(gè)鍵值對(duì)

基本操作
 通過訪問document.cookie可以對(duì)cookie進(jìn)行創(chuàng)建,修改與獲取。
 默認(rèn)情況下,cookie 在瀏覽器關(guān)閉時(shí)刪除,你還可以為 cookie的某個(gè)鍵值對(duì) 添加一個(gè)過期時(shí)間
 如果設(shè)置新的cookie時(shí),某個(gè)key已經(jīng)存在,則會(huì)更新這個(gè)key對(duì)應(yīng)的值,否則他們會(huì)同時(shí)存在cookie中

<script>
  // 設(shè)置cookie
  document.cookie = "username=orochiz"
  document.cookie = "age=20"
 
  // 讀取cookie
  var msg = document.cookie
  console.log(msg) // username=orochiz; age=20
 
  // 添加過期時(shí)間(單位:天)
  var d = new Date() // 當(dāng)前時(shí)間 2019-9-25
  var days = 3    // 3天
  d.setDate(d.getDate() + days)
  document.cookie = "username=orochiz;"+"expires="+d
 
  // 刪除cookie (給某個(gè)鍵值對(duì)設(shè)置過期的時(shí)間)
  d.setDate(d.getDate() - 1)
  console.log(document.cookie)
</script>

總結(jié)

相同點(diǎn):都保存在瀏覽器端,可以下圖位置查看儲(chǔ)存的信息

不同點(diǎn):

①傳遞方式不同

cookie數(shù)據(jù)始終在同源的http請(qǐng)求中攜帶(即使不需要),即cookie在瀏覽器和服務(wù)器間來回傳遞。

sessionStorage和localStorage不會(huì)自動(dòng)把數(shù)據(jù)發(fā)給服務(wù)器,僅在本地保存。

②數(shù)據(jù)大小不同

cookie數(shù)據(jù)還有路徑(path)的概念,可以限制cookie只屬于某個(gè)路徑下。
 存儲(chǔ)大小限制也不同,cookie數(shù)據(jù)不能超過4k,同時(shí)因?yàn)槊看蝖ttp請(qǐng)求都會(huì)攜帶cookie,所以cookie只適合保存很小的數(shù)據(jù),如會(huì)話標(biāo)識(shí)。

sessionStorage和localStorage 雖然也有存儲(chǔ)大小的限制,但比cookie大得多,可以達(dá)到5M或更大。

③數(shù)據(jù)有效期不同

sessionStorage:僅在當(dāng)前瀏覽器窗口關(guān)閉前有效,自然也就不可能持久保持;

localStorage:始終有效,窗口或?yàn)g覽器關(guān)閉也一直保存,因此用作持久數(shù)據(jù);

cookie只在設(shè)置的cookie過期時(shí)間之前一直有效,即使窗口或?yàn)g覽器關(guān)閉。

④作用域不同

sessionStorage不在不同的瀏覽器窗口中共享,即使是同一個(gè)頁(yè)面;

localStorage 在所有同源窗口中都是共享的;

cookie也是在所有同源窗口中都是共享的。

Web Storage 支持事件通知機(jī)制,可以將數(shù)據(jù)更新的通知發(fā)送給監(jiān)聽者。

Web Storage 的 api 接口使用更方便。

到此這篇關(guān)于JavaScript本地儲(chǔ)存:localStorage、sessionStorage、cookie的使用的文章就介紹到這了,更多相關(guān)JavaScript本地儲(chǔ)存內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 13個(gè)PHP函數(shù)超實(shí)用

    13個(gè)PHP函數(shù)超實(shí)用

    這篇文章為大家整理了13個(gè)PHP函數(shù)超實(shí)用,函數(shù)是PHP如此強(qiáng)大的源泉,但是很多PHP函數(shù)并沒有得到充分的利用,本文的13個(gè)PHP函數(shù)大家一定要真正掌握。
    2015-10-10
  • js控制臺(tái)輸出的方法(詳解)

    js控制臺(tái)輸出的方法(詳解)

    下面小編就為大家?guī)硪黄猨s控制臺(tái)輸出的方法(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-11-11
  • 獲取非最后一列td值并將title設(shè)為該值的方法

    獲取非最后一列td值并將title設(shè)為該值的方法

    正如標(biāo)題所示的獲取非最后一列td值并將title設(shè)為該值,下面使用jquery來簡(jiǎn)單實(shí)現(xiàn)下,需要的朋友可以參考下
    2013-10-10
  • JS數(shù)組中常用方法技巧學(xué)會(huì)進(jìn)階成為大佬

    JS數(shù)組中常用方法技巧學(xué)會(huì)進(jìn)階成為大佬

    這篇文章主要為大家介紹了JS數(shù)組中常用的方法技巧,學(xué)會(huì)了你就在進(jìn)階成為大佬的道路上又邁進(jìn)了一步,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-10-10
  • 基于input框覆蓋掉數(shù)字英文的實(shí)例講解

    基于input框覆蓋掉數(shù)字英文的實(shí)例講解

    下面小編就為大家?guī)硪黄趇nput框覆蓋掉數(shù)字英文的實(shí)例講解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • Web跨瀏覽器進(jìn)程通信(Web跨域)

    Web跨瀏覽器進(jìn)程通信(Web跨域)

    Web跨域已是老生常談的話題,這次來嘗試下跨域?yàn)g覽器進(jìn)程之間的通信 —— 這在過去基本依靠網(wǎng)絡(luò)中轉(zhuǎn)實(shí)現(xiàn)
    2013-04-04
  • JS隨機(jī)數(shù)產(chǎn)生代碼分享

    JS隨機(jī)數(shù)產(chǎn)生代碼分享

    大家在制作網(wǎng)頁(yè)或者小程序的時(shí)候經(jīng)常用到隨機(jī)數(shù),作者整理了一個(gè)很簡(jiǎn)單的JS生成隨機(jī)數(shù)的程序,一起學(xué)習(xí)下。
    2018-02-02
  • 如何利用javascript接收json信息并進(jìn)行處理

    如何利用javascript接收json信息并進(jìn)行處理

    這篇文章主要介紹了如何利用javascript接收json信息并進(jìn)行處理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • JavaScript圖像延遲加載庫(kù)Echo.js

    JavaScript圖像延遲加載庫(kù)Echo.js

    Echo 是一個(gè)獨(dú)立的 JavaScript 懶加載圖像的工具,快速、體積?。ú蛔?k)和使用 HTML5 的 data- 屬性,通過本文給大家介紹JavaScript圖像延遲加載庫(kù)Echo.js ,感興趣的朋友一起學(xué)習(xí)吧
    2016-04-04
  • javascript 隨機(jī)展示頭像實(shí)現(xiàn)代碼

    javascript 隨機(jī)展示頭像實(shí)現(xiàn)代碼

    隨機(jī)展示小頭像,隨機(jī)數(shù)包括 位置、層級(jí)、大小、透明度 等
    2011-12-12

最新評(píng)論