localStorage请使用getItem 和setITem
最近看别人的代码,发现他们在从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_object(object)
{
localStorage.object = JSON.stringify(object);
}
//用getItem方式来实现:
function storage_object (object)
{
localStorage.setItem(object,JSON.stringify(object));
}
这时候就会明显的发现用dot的方式是很不合适的。因为他不能实现动态的绑定key。
2.感觉用getItem更美观,容易读懂。这个是个人意见。我记得我看过一段代码,作用大概是实现计数吧:
locatStorage.count++
我看见他的时候, 当时就蒙圈了。确实挺简单的,但是不容易懂啊。这是在考验我啊。
大概就是这样。
localStorage请使用getItem 和setITem的更多相关文章
- getitem, setitem, delitem (把类实例化成字典的类型)
		
class Foo(object): def __init__(self): self.data = {} def __getitem__(self, key): ...
 - html5 说明
		
# 客户端储存历程 远古时期 cookies的用法和缺陷 userdata HTML5时代 localstorage application cache 离线缓存 indexedeDB 客户端数据 ...
 - localStorage.getItem
		
WEB应用的快速发展,是的本地存储一些数据也成为一种重要的需求,实现的方案也有很多,最普通的就是cookie了,大家也经常都用,但是cookie的缺点是显而易见的,其他的方案比如:IE6以上的user ...
 - HTML5 LocalStorage 本地存储,刷新值还在
		
H5的两种存储技术的最大区别就是生命周期. 1. localStorage是本地存储,存储期限不限: 2. sessionStorage会话存储,页面关闭数据就会丢失. 使用方法: localStor ...
 - localStorage用法总结
		
这些知识是参考下面的朋友的.谢谢分享. http://www.jianshu.com/p/39ba41ead42e http://www.cnblogs.com/st-leslie/p/5617130 ...
 - 本地存储localStorage以及它的封装接口store.js的使用
		
本地存储localStorage以及它的封装接口store.js的使用 sublime-text chrome javascript readyGo 2016年11月20日发布 0 推荐 9 收藏 ...
 - localStorage使用总结
		
一.什么是localStorage.sessionStorage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题 ...
 - 关于HTML5本地缓存技术LocalStorage 本地存储 和 SessionStorage
		
如果你想在用户访问的时候记录或者记住他们的行为,你会想到的是什么,cookie 和session.但今天告诉你还有两种或者说是1种吧 那就是html5的 LocalStorage 本地存储和 Sess ...
 - HTMl5的sessionStorage和localStorage
		
HTMl5的sessionStorage和localStorage html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage. sessionSt ...
 
随机推荐
- 如何在MyEclipse中配置jre的编译运行环境
			
由于在MyEclipse中已经自带了jre编译环境,但由于版本太低,所以有时候需要将编译环境配置为系统的jre版本.在MyEclipse中配置jre的编译运行环境很简单,只需要全局配置一次,则所有项目 ...
 - F9  excel上传
			
1 在前台制定文件上传按钮 <div id="dataImport" class="mini-webuploader" pickerText=" ...
 - chrome console 命令简记
			
1.快速迭代元素 $$('tr.dispute-num td strong a').map(function (el) { return el.innerHTML; }) 2.复选框选中/取消选中 c ...
 - MySQL字段联合去重sql
			
MySQL字段联合去重sql 例如数据 id,name1,name2 1 a x 2 a y 3 b x 4 a y 5 a x 联合去重name1,name2的结果为 id,name1,name2 ...
 - Maven pom项目部署
			
maven控制台运行程序 <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec- ...
 - Python学习之旅--第二周--python基础
			
一.什么是pyc? 1.Python是解释性语言,那么.pyc是什么文件? 2.解释性语言和编译型语言区别: 计算机是不能够识别高级语言的,所以当我们运行一个高级别语言程序时,就需要一个&quo ...
 - unsupported major.minor version 52.0,错误
			
Make sure that all the classes needed by the application have been compiled with a compatible java v ...
 - jfinal获取服务器的IP和端口
			
String serverIp = getRequest().getServerName(); Integer serverPort = getRequest().getServerPort();
 - 【转】MapReduce的优化
			
相信每个程序员在编程时都会问自己两个问题“我如何完成这个任务”,以及“怎么能让程序运行得更快”.同样,MapReduce计算模型的多次优化也是为了更好地解答这两个问题. MapReduce计算模型的优 ...
 - 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage“提示信息
			
在安装过vs2015之后出现未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage“提示信息在VS的安装目录下,找到 ...