localStorage sessionStorage 是windows的對(duì)象
1.cookie
在瀏覽器和服務(wù)器端來回傳遞數(shù)據(jù)倍靡,而localStorage
和sessionStorage
不會(huì)自動(dòng)把數(shù)據(jù)發(fā)送給服務(wù)器躯保,僅會(huì)保存在本地。cookie
會(huì)在瀏覽器請(qǐng)求頭或者ajax
請(qǐng)求頭中發(fā)送cookie
內(nèi)容贩猎。
2.cookie
可以設(shè)置過期日期熊户,sessionStorage
是會(huì)話級(jí)的數(shù)據(jù),瀏覽器窗口關(guān)閉即清楚吭服,localStorage
是永久性的數(shù)據(jù)嚷堡,一旦賦值,不管多長時(shí)間這值都是存在的艇棕,除非手動(dòng)清除蝌戒。
3.cookie
的存儲(chǔ)大小受限制,一般不超過4k沼琉,而localStorage
和sessionStorage
的存儲(chǔ)大小一般不超過5M
北苟,大大提高了存儲(chǔ)的體積。
4.sessionStorage
不跨窗口打瘪,在另外一個(gè)窗口打開sessionStorage
就不存在了友鼻,它只在當(dāng)前窗口有效傻昙,而cookie
和localStorage
都是跨窗口的,即使瀏覽器的窗口關(guān)閉彩扔,這兩個(gè)值還是存在的妆档。
使用場景:
localStorage
可以用來統(tǒng)計(jì)頁面訪問次數(shù)。
sessionStorage
可以用來統(tǒng)計(jì)當(dāng)前頁面元素的點(diǎn)擊次數(shù)虫碉。
cookie
一般存儲(chǔ)用戶名密碼相關(guān)信息贾惦,一般使用escape轉(zhuǎn)義
編碼后存儲(chǔ)。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<label>
<input type="text" id="text">
<button id="btn">save</button>
<script>
window.onload = function () {
var text = document.getElementById('text');
var btn = document.getElementById('btn');
if (localStorage.getItem('text')) {
text.value = localStorage.getItem('text');
}
btn.onclick = function () {
var t = text.value;
localStorage.setItem('text',t);
}
}
</script>
</label>
</body>
</html>