天天看點

js中的本地存儲(webStorage)

webStorage (Window.sessionStorage 和 Window.localStorage)

1. 存儲内容大小一般支援5MB左右(不同浏覽器可能還不一樣)

2. 浏覽器端通過 Window.sessionStorage 和 Window.localStorage 屬性來實作本地存儲機制。

3. 相關API:

    1. ```xxxxxStorage.setItem('key', 'value');```

                  該方法接受一個鍵和值作為參數,會把鍵值對添加到存儲中,如果鍵名存在,則更新其對應的值。

    2. ```xxxxxStorage.getItem('person');```

        ​      該方法接受一個鍵名作為參數,傳回鍵名對應的值。

    3. ```xxxxxStorage.removeItem('key');```

        ​      該方法接受一個鍵名作為參數,并把該鍵名從存儲中删除。

    4. ``` xxxxxStorage.clear()```

        ​      該方法會清空存儲中的所有資料。

代碼示範

以LocalStorage為例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>localStorage</title>
	</head>
	<body>
		<h2>localStorage</h2>
		<button onclick="saveData()">點我儲存一個資料</button>
		<button onclick="readData()">點我讀取一個資料</button>
		<button onclick="deleteData()">點我删除一個資料</button>
		<button onclick="deleteAllData()">點我清空一個資料</button>

		<script type="text/javascript" >
			let p = {name:'張三',age:18}

			function saveData(){
				localStorage.setItem('msg','hello!!!')
				localStorage.setItem('msg2',666)
				localStorage.setItem('person',JSON.stringify(p))
			}
			function readData(){
				console.log(localStorage.getItem('msg'))
				console.log(localStorage.getItem('msg2'))

				const result = localStorage.getItem('person')
				console.log(JSON.parse(result))

				// console.log(localStorage.getItem('msg3'))
			}
			function deleteData(){
				localStorage.removeItem('msg2')
			}
			function deleteAllData(){
				localStorage.clear()
			}
		</script>
	</body>
</html>
           

當我們點選儲存按鈕之後 資料就會被添加到浏覽器裡 在浏覽器控制台Application選項中檢視 綠色框中就是儲存的資料

js中的本地存儲(webStorage)

點選檢視就可以擷取到目前要檢視的值

js中的本地存儲(webStorage)

 點選删除就可以删除可以删除對應的資料 清空則可以清空全部的資料

備注:

    1. SessionStorage存儲的内容會随着浏覽器視窗關閉而消失。

    2. LocalStorage存儲的内容,需要手動清除才會消失。

    3. ```xxxxxStorage.getItem(xxx)```如果xxx對應的value擷取不到,那麼getItem的傳回值是null。

    4. ```JSON.parse(null)```的結果依然是null。