前端localstorage使用總結

localStorage是一個屬于window對象下的對象,所以訪問時可以直接訪問,省略window。

localStorage與sessionStorage是相同的,不同只在于存在時限,localStorage除非手動清除瀏覽器緩存或是前端代碼執(zhí)行清除操作,否則會永久保存著,而sessionStorage則只存在于當前會話里,也就是當用戶關閉了當前頁面,就會變清除。

localStorage相較于cookie的最大不同和好處有兩點,

一是大?。簂ocalStorage的大小一般是5M,不同瀏覽器會存在一些差別,cookie則只有4K大小,所以localStorage可以作為本地數據庫來使用。

二是性能:cookie會自帶出現(xiàn)在每次向服務器發(fā)送的請求里,自然會造成浪費,而localStorage不會,它本質上就是一個本地存儲空間,與服務器無關,也與請求無關了。

當然localStorage也有其局限,一是不支持IE7、IE6,二是隱私模式下無法訪問,三是爬蟲無法抓取,不利于搜索引擎優(yōu)化seo。但這些都瑕不掩瑜。


localStorage的使用:

設置:localStorage['name']=value;

localStorage.addItem(key,value);

localStorage.name=value;

刪除:localStorage.removeItem(key);

localStorage.clear();(請空所有l(wèi)ocalstorage);

讀取值則直接是localStorage.name即可。

此處有個需要注意的是保存在localStorage里的數據會自動轉化為string格式,所以平時使用如果是保存后臺返回的json數據,一般會結合json.stringify()以及json.parse()方法使用。如:

localStorage.addItem(key,json.stringify(data));

var data=json.parse(localStorage.key);


另外,前端還可以監(jiān)聽storage的變化,能很方便的實現(xiàn)一些數據綁定的操作,具體實現(xiàn)是:

window.addEventListener('storage', function(e){

?????????console.log('key', e.key);

? ? ? ? console.log('oldValue', e.oldValue);

? ? ? ? console.log('newValue', e.newValue);

? ? ? ? console.log('url', e.url);

? ? })

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容