如何在HTML5对象里获取和设置本地存储的值?

Ashish Mishra:我正在“把玩”本地存储(LocalStorage)。我希望能够获取或是设置对象里本地存储的值。经过我的摸索,我发现可以通过这样设置获取:

localStorage.myvalue = "something";

也可以通过这种简单的调用获取当前的值:

localStorage.myvalue;

现在我把值放在一个对象里,如下:

var myObj = {
  myval: localStorage.myvalue
}

当我设置值为

myObj.myval="somethingAgain";

但这段代码就不能正常运行了,一般情况下,这种方法是可以轻松的设置或是获取对象的值,但在上述情况中却不可以,为什么呢?
检索值的正常运行是通过 myObj.myval 但为什么我却不能够实现设置值呢?

原问题:Get or Set localStorage Value inside Object

阅读 3.6k
1 个回答

Runthis:只需要对代码做一个小手术即可。

var myObj = {
    myval: function(val){ 
        return (typeof (val) === 'undefined' ? localStorage.myvalue : localStorage.myvalue=val);
    }
}

代码似乎太长了,短点更好。
调用:

myObj.myval("Add this");

获取:

myObj.myval();

线上演示: http://jsfiddle.net/4WsNx/

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题