如何在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

已邀请:

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/

要回复问题请先登录注册