婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 淺析數據存儲的三種方式 cookie sessionstorage localstorage 的異同

淺析數據存儲的三種方式 cookie sessionstorage localstorage 的異同

熱門標簽:電話機器人電銷系統掙話費 只辦理400電話 平涼地圖標注位置怎么弄 機器人外呼系統存在哪些能力 拓展地圖標注 電話機器人黑斑馬免費 如何獲取地圖標注客戶 南昌仁和怎么申請開通400電話 高德地圖標注地點糾錯

一、通常我們在存儲數據的方式有三種

cookie sessionstorage localstorage ,那么這三種數據的存儲又有什么關系呢?讓我們一起來看看吧

cookie:保存cookie值:

var dataCookie='110';
    document.cookie = 'token' + "=" +dataCookie;

獲取指定名稱的cookie值

function getCookie(name) 
{ //獲取指定名稱的cookie值
// (^| )name=([^;]*)(;|$),match[0]為與整個正則表達式匹配的字符串,match[i]為正則表達式捕獲數組相匹配的數組;
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) {
  console.log(arr);
  return unescape(arr[2]);
}
return null;
}
 var cookieData=getCookie('token'); //cookie賦值給變量。

設置cookie過期時間

function setTime() 
{

//存儲cookie值并且設置cookie過期時間

var date\=new Date();

var expiresDays\=10;//設置十天過期

date.setTime(date.getTime()+expiresDays\*24\*3600\*1000);

document.cookie\="userId=828; 
expires="+date.toGMTString();

console.log(document.cookie,'存儲cookie值并且設置cookie過期時間');

}

setTime();

刪除cookie

function delCookie(cookieName1) {

//刪除cookie

var date2\=new Date();

date2.setTime(date2.getTime()\-10001);//把時間設置為過去的時間,會自動刪除

document.cookie\= cookieName1+"=v; expires="+date2.toGMTString();

console.log(document.cookie,'刪除cookie');

}
delCookie('userId');

localStorage和sessionStorage:localStorage和sessionStorage所使用的方法是一樣的,下面以sessionStorage為栗子:

var name='sessionData';
var num=120;
sessionStorage.setItem(name,num);//存儲數據
sessionStorage.setItem('value2',119);
let dataAll=sessionStorage.valueOf();//獲取全部數據
console.log(dataAll,'獲取全部數據');
var dataSession=sessionStorage.getItem(name);//獲取指定鍵名數據
var dataSession2=sessionStorage.sessionData;//sessionStorage是js對象,也可以使用key的方式來獲取值
 console.log(dataSession,dataSession2,'獲取指定鍵名數據');
 sessionStorage.removeItem(name); //刪除指定鍵名數據
 console.log(dataAll,'獲取全部數據1');
 sessionStorage.clear();//清空緩存數據:localStorage.clear();
 console.log(dataAll,'獲取全部數據2');

三者的異同:

上面的使用方式說好了,下面就嘮嘮三者之間的區別,這個問題其實很多大廠面試的時候也都會問到,所以可以注意一下這幾個之間的區別。

生命周期:

cookie:可設置失效時間,沒有設置的話,默認是關閉瀏覽器后失效

localStorage:除非被手動清除,否則將會永久保存。

sessionStorage: 僅在當前網頁會話下有效,關閉頁面或瀏覽器后就會被清除。

存放數據大小:

cookie:4KB左右

localStorage和sessionStorage:可以保存5MB的信息。

http請求:

cookie:每次都會攜帶在HTTP頭中,如果使用cookie保存過多數據會帶來性能問題

localStorage和sessionStorage:僅在客戶端(即瀏覽器)中保存,不參與和服務器的通信

易用性:

cookie:需要程序員自己封裝,源生的Cookie接口不友好

localStorage和sessionStorage:源生接口可以接受,亦可再次封裝來對Object和Array有更好的支持

應用場景:

從安全性來說,因為每次http請求都會攜帶cookie信息,這樣無形中浪費了帶寬,所以cookie應該盡可能少的使用,另外cookie還需要指定作用域,不可以跨域調用,限制比較多。但是用來識別用戶登錄來說,cookie還是比stprage更好用的。其他情況下,可以使用storage,就用storage。

storage在存儲數據的大小上面秒殺了cookie,現在基本上很少使用cookie了,因為更大總是更好的,哈哈哈你們懂得。

localStorage和sessionStorage唯一的差別一個是永久保存在瀏覽器里面,一個是關閉網頁就清除了信息。localStorage可以用來夸頁面傳遞參數,sessionStorage用來保存一些臨時的數據,防止用戶刷新頁面之后丟失了一些參數。

瀏覽器支持情況:

localStorage和sessionStorage是html5才應用的新特性,可能有些瀏覽器并不支持,這里要注意。

cookie的瀏覽器支持沒有找到,可以通過下面這段代碼來判斷所使用的瀏覽器是否支持cookie:

if(navigator.cookieEnabled) 
{
  alert("你的瀏覽器支持cookie功能");//提示瀏覽器支持cookie  
} 
else 
{
  alert("你的瀏覽器不支持cookie");//提示瀏覽器不支持cookie  
 }

復制代碼數據存放處:Cookie、localStorage、sessionStorage數據存放處

番外:各瀏覽器Cookie大小、個數限制。

總結

到此這篇關于數據存儲的三種方式 cookie sessionstorage localstorage 異同的文章就介紹到這了,更多相關數據存儲 cookie sessionstorage localstorage 內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章,希望大家以后多多支持腳本之家!

標簽:新疆 青島 棗莊 遼源 西藏 永州 漯河 池州

巨人網絡通訊聲明:本文標題《淺析數據存儲的三種方式 cookie sessionstorage localstorage 的異同》,本文關鍵詞  淺析,數據,存儲,的,三種,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺析數據存儲的三種方式 cookie sessionstorage localstorage 的異同》相關的同類信息!
  • 本頁收集關于淺析數據存儲的三種方式 cookie sessionstorage localstorage 的異同的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 吴堡县| 聊城市| 安福县| 鄂尔多斯市| 汝城县| 互助| 常州市| 凤冈县| 渝中区| 华宁县| 兴仁县| 南郑县| 永川市| 鄯善县| 大悟县| 越西县| 射阳县| 天峨县| 望都县| 江口县| 达孜县| 勃利县| 陇南市| 遵化市| 台湾省| 寿阳县| 金乡县| 南岸区| 余庆县| 湛江市| 当涂县| 西畴县| 全南县| 平潭县| 景泰县| 雷波县| 贺兰县| 徐州市| 贺兰县| 隆化县| 淮南市|