localStorage请使用getItem 和setITem

来源:互联网 发布:linux查看显卡命令 编辑:程序博客网 时间:2024/05/22 02:22

来源URL:http://www.tuicool.com/articles/IZv6Bn

最近看别人的代码,发现他们在从localStorage里面的时候喜欢用dot来操作,而不是get setItem,记得以前说过这个事。下面再说一次吧。

用dot方式来操作(   每次以'hello'=>'world','zhangsan'=>'lisi'来做为例子

设值 localStorage.hello = 'world';localStorage.zhangsan = 'lisi';取值:var value_of_hello_in_localStorage = localStorage.hello;var value_of_zhangsan_in_localStorage = localStorage.zhangsan

 用getItem setItem来操作

设值:localStorage.setItem("hello", "world");localStorage.setItem("zhangsan", "lisi");取值:localStorage.getItem("hello");localStorage.getItem("zhangsan");

 这两种方法的效率我不清楚,但是为什么推荐使用get setItem呢?

1.容易控制,便于动态绑定,尤其在函数抽离和重构中。比如我要存一个复杂类型,每次存的时候都需要做JSON.stringify(object_a),所以我把它抽成函数

//用dot方式来实现设值:function storage_objectobject){    localStorage.object = JSON.stringify(object);}//用getItem方式来实现:function storage_object (object){  localStorage.setItem(object,JSON.stringify(object));}

 

 这时候就会明显的发现用dot的方式是很不合适的。因为他不能实现动态的绑定key。

2.感觉用getItem更美观,容易读懂。这个是个人意见。我记得我看过一段代码,作用大概是实现计数吧:

locatStorage.count++

 我看见他的时候, 当时就蒙圈了。确实挺简单的,但是不容易懂啊。这是在考验我啊。

大概就是这样。


0 0
原创粉丝点击