87 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			87 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								title: Store Data in Web Browsers Storage
							 | 
						|||
| 
								 | 
							
								localeTitle: 将数据存储在Web浏览器存储中
							 | 
						|||
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								为了管理Web应用程序处理的数据,您不一定需要数据库。 Chrome(版本4及更高版本),Mozilla Firefox(版本3.5及更高版本)和Internet Explorer(版本8及更高版本)以及一系列其他浏览器(包括iOS和Android版本)均支持各自的浏览器存储功能。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								浏览器存储有两种主要可能性:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								## 1\. localStorage
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								重新启动浏览器(关闭并再次打开)后,保存到`localStorage`对象的任何内容/数据都将可用。为了**_将项目保存_**到`localStorage` ,您可以使用方法`setItem()` 。这个方法必须是一个键和一个值。
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								Example: localStorage.setItem("mykey","myvalue"); 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								要从**_localStorage检索项目_** ,必须使用方法`getItem` 。必须将`getItem`方法传递给您要检索的数据的键:
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								  Example: localStorage.getItem("mykey"); 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								您可以使用`removeItem()`方法从`localStorage`删除项目。必须将此方法交给要删除的项目的键:
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								  Example: localStorage.removeItem("mykey"); 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								要清除整个`localStorage` ,您应该在`localStorage`对象上使用`clear()`方法:
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								  Example: localStorage.clear(); 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								## 2\. sessionStorage
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								保存在`sessionStorage`对象中的项目将保留,直到用户关闭浏览器。然后,存储将被清除。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								您可以将项目保存到`sessionStorage` ,请使用`sessionStorage`对象上的方法`setItem()` :
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								Example: sessionStorage.setItem("mykey","myvalue"); 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								要从**_sessionStorage检索项目_** ,必须使用方法`getItem` 。必须将`getItem`方法传递给您要检索的数据的键:
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								  Example: sessionStorage.getItem("mykey"); 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								您可以使用`removeItem()`方法从`sessionStorage`删除项目。必须将此方法交给要删除的项目的键:
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								  Example: sessionStorage.removeItem("mykey"); 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								要清除整个`sessionStorage` ,您应该在`sessionStorage`对象上使用`clear()`方法:
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								  Example: sessionStorage.clear(); 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								## 将数组保存到localStorage和sessionStorage
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								您不仅可以将单个值保存到`localStorage`和`sessionStorage` ,还可以保存数组的内容。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								在这个例子中,我们有一个带数字的数组:
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								var ourArray =[1,2,3,4,5]; 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								我们现在可以使用`setItem()`方法将其保存到`localStorage`或`sessionStorage` :
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								localStorage.setItem("ourarraykey",JSON.stringify(ourArray)); 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								或者,对于`sessionStorage` :
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								sessionStorage.setItem("ourarraykey",JSON.stringify(ourArray)); 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								为了保存,必须首先将数组转换为字符串。在上面显示的示例中,我们使用`JSON.stringify`方法来完成此任务。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								从`localStorage`或`sessionStorage`检索数据时,将其转换回数组:
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								var storedArray = localStorage.getItem("ourarraykey"); 
							 | 
						|||
| 
								 | 
							
								 ourArray = JSON.parse(storedArray); 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								或者,对于`sessionStorage` :
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								var storedArray = sessionStorage.getItem("ourarraykey"); 
							 | 
						|||
| 
								 | 
							
								 ourArray = JSON.parse(storedArray); 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```
							 |