屬性 | 描述 |
---|---|
length | 返回存儲對象中包含多少條數據。 |
方法 | 描述 |
---|---|
key(n) | 返回存儲對象中第 n 個鍵的名稱 |
getItem(keyname) | 返回指定鍵的值 |
setItem(keyname, value) | 添加鍵和值,若是對應的值存在,則更新該鍵對應的值。 |
removeItem(keyname) | 移除鍵 |
clear() | 清除存儲對象中全部的鍵 |
首先在使用 localStorage 的時候,咱們須要判斷瀏覽器是否支持 localStorage 這個屬性:前端
if(!window.localStorage){ alert("瀏覽器不支持localstorage"); }else{ alert("瀏覽器支持localstorage"); //主邏輯業務 }
if(!window.localStorage){ alert("瀏覽器不支持localstorage"); }else{ var storage=window.localStorage; //寫入方法一:a字段 storage["a"]=1; //寫入方法二:b字段 storage.b=2; //寫入方法三:c字段(官方提倡) storage.setItem("c",3); console.log(typeof storage["a"]); console.log(typeof storage.b); console.log(typeof storage["c"]); }
if(!window.localStorage){ alert("瀏覽器不支持localstorage"); }else{ var storage=window.localStorage; storage["a"]=1; storage.a=2; storage.setItem("c",3); //第一種方法讀取 console.log(storage.a);//1 //第二種方法讀取 console.log(storage["b"]);//2 //第三種方法讀取(官方提倡) console.log(storage.getItem("c"));//3 }
修改與寫入一致,就是覆蓋原來的數據web
一、將localStorage的全部內容清除數據庫
var storage=window.localStorage; storage.a=1; storage.setItem("c",3); console.log(storage); storage.clear(); console.log(storage);
二、 將 localStorage 中的某個鍵值對刪除json
var storage=window.localStorage; storage.a=1; storage.setItem("c",3); //設置 console.log(storage); storage.removeItem("a"); //移除 console.log(storage.a); //undefined
var storage=window.localStorage; storage.a=1; storage.setItem("c",3); for(var i=0;i<storage.length;i++){ var key=storage.key(i); console.log(key);//a c }
通常咱們會將 JSON 存入 localStorage 中,可是在 localStorage 會自動將 localStorage 轉換成爲字符串形式。
這個時候咱們可使用 JSON.stringify() 這個方法,來將 JSON 轉換成爲 JSON 字符串。讀取以後要將 JSON 字符串轉換成爲 JSON 對象,使用 JSON.parse() 方法:瀏覽器
var storage=window.localStorage; var data={ name:'fur', sex:'girl', hobby:'code' }; //將對象轉換成json格式字符串 var d=JSON.stringify(data); console.log(d) //{"name":"fur","sex":"girl","hobby":"code"} //將字符串存入data storage.setItem("data",d); //獲取字符串形式的data var json=storage.getItem("data"); //將JSON字符串轉換成爲JSON對象輸出 var jsonObj=JSON.parse(json); console.log(jsonObj) //Object { name: "fur", sex: "girl", hobby: "code" } console.log(typeof jsonObj);//object
sessionStorage 用於臨時保存同一窗口(或標籤頁)的數據,在關閉窗口或標籤頁以後將會刪除這些數據,增刪改查寫法與localstorage一致,不在贅述。服務器
if(!window.sessionStorage ){ alert("瀏覽器不支持sessionStorage "); }else{ alert("瀏覽器支持sessionStorage "); //主邏輯業務 }
localStorage 屬於永久性存儲,而 sessionStorage 屬於當會話結束的時候,sessionStorage 中的鍵值對會被清空。cookie
不一樣瀏覽器沒法共享localStorage或sessionStorage中的信息。同一瀏覽器的相同域名和端口的不一樣頁面間能夠共享相同的 localStorage,可是不一樣頁面間沒法共享sessionStorage的信息。網絡
localStoragese:經常使用於長期登陸(+判斷用戶是否已登陸),適合長期保存在本地的數據,而sessionStorage:敏感帳號一次性登陸session