【ing】localstorage的使用心得

首先,需要get一下localStorage的几个方法:

1、存储:localStorage.setItem(key,value)
如果key存在时,更新value

2、获取:localStorage.getItem(key)
如果key不存在返回null

3、删除:localStorage.removeItem(key)
一旦删除,key对应的数据将会全部删除

4、全部删除:localStorage.clear()
某些时候使用removeItem逐个删除太麻烦,可以使用clear,执行的后果是会删除所有localStorage对象保存的数据

5、遍历localStorage存储的key
.length 数据总量,例:localStorage.length
.key(index) 获取key,例:var key=localStorage.key(index);

6、存储JSON格式数据
JSON.stringify(data)  将一个对象转换成JSON格式的数据串,返回转换后的串
JSON.parse(data) 将数据解析成对象,返回解析后的对象

备注:localStorage存数的数据是不能跨浏览器共用的,一个浏览器只能读取各自浏览器的数据,储存空间5M。

以上灰色文字部分是拷贝来的,但是地址被我忘了。

如果作者看到,请告知我,让我把链接加上来。

谢谢。


问题数组是这样的

购物车{0

套餐{套餐名称、套餐ID、套餐价格、菜品{菜品ID、菜品价格、菜品名称、菜品单位}}

菜品{菜品ID、菜品价格、菜品名称、菜品单位}

}

初来乍到使用localStorage真的是晕掉了。

因为之前的普通情况下,如果只是单纯的存一个数据到localstorage里吧,只要这样就好了7

localStorage.setItem("sid",sessionUuid);

但是现在遇到的问题变成了,需要存一个对象数组进去。

【问题一:存一个对象数组进去吧~神様~】

参考:  http://my.oschina.net/crazymus/blog/371757?p=1

在获取了要存入的数据id、price、name、unit和setId这些数组之后,

比较重要的就这样几句话:

			var obj = {                    //创建了一个对象,来放我获取到的那些值
				mealId: id,
				mealprice: price,
				mealname: name,
				mealunit: unit,
				setMealId: setId
			};
			var str = JSON.stringify(obj);//将这个对象存储成JSON格式的“字符串”
			
			localStorage.meal = str;<span>	</span>//把这个JSON格式的数据存在localstorage里面
			str = localStorage.meal;<span>	</span>//现在要把这个数据拿出来了
			obj = JSON.parse(str);<span>		</span>//现在要恢复它本来的样子了~

现在用console.log(localStorage.meal)进行输出,或者直接从控制台里去查看localStorage的话,就可以看到数据已经存进去了。

【问题二:我现在又不想要这个数据了,可是为什么删不掉

根据最上面的方法,那样,我直接写了

localStorage.removeItem(localStorage.meal);

试了一下....发现不行....

然后发现,是打开方式不对

正确的删除方式:localStorage.removeItem("meal");


你可能感兴趣的:(html5,localStorage)