1.Cookie
這個恐怕是最常見也是用得最多的技術了,也是比較古老的技術了。COOKIE優點很多,使用起來很方便
但它的缺點也很多:
比如跨域訪問問題;無法保存太大的數據(最大僅為4KB);本地保存的數據會發送給服務器,浪費帶寬 等等;
2.使用sessionStorage、localStorage
localStorage:
是一種你不主動清除它,它會一直將存儲數據存儲在客戶端的存儲方式,即使你關閉了客戶端(瀏覽器),屬於本地持久層儲存
sessionStorage:
用於本地存儲一個會話(session)中的數據,一旦會話關閉,那么數據會消失,比如刷新。
有時候,我們需要將數據存儲到sessionStorage和localStorage中,這樣做的好處有:
1 緩存數據
2 減少對內存的占用
但是,storage只能存儲字符串的數據,對於JS中常用的數組或對象卻不能直接存儲。
它能保存更大的數據(IE8上是10MB,Chrome是5MB),同時保存的數據不會再發送給服務器,避免帶寬浪費。
localStorage存儲方法(sessionStorage類似)
localStorage.name =’vanida;
localStorage[“name”]=’vanida’;
localStorage.setItem(“name”,”vanida”);
//這三種設置值方式是一樣的;
localStorage獲取值方法
var name = localStorage[“name”]
var name= localStorage.name
var name= localStorage.getItem(“name”);
//這三種獲取值方式是一樣的;
localStorage清除特定值方法
//清除name的值
localStorage.removeItem(“name”);
localStorage.name=”;
localStorage清除所有值方法
localStorage.clear()
localStorage只能存儲字符串,如果需要存儲對象,首先要轉化為字符串。利用JSON.stringify();
var person = {name:”vanida”,”sex”:”girl”,”age”:25};
localStorage.setItem(“person”,JSON.stringify(person));
// localStorage.person=”{“name”:”vanida”,”sex”:”girl”,”age”:25}”
注意:JSON.stringify()中不要忘了“i”,stringify而不是stringfy!
然后取出person的對象你可以用JSON.parse();
person = JSON.parse(localStorage.getItem(“person”));
