在Object中获取或设置localStorage值

Ash*_*hra 6 javascript jquery html5 local-storage javascript-objects

我在这里玩本地存储.并希望它获取或设置对象内的本地存储的值.我知道set或get项目是推荐的操作,但在某处我发现:

也可以使用以下方法设置LocalStorage: localStorage.myvalue = "something";

为了获得当前值,我们只需调用:localStorage.myvalue;
现在我把它放在一个对象中:

var myObj = {
  myval: localStorage.myvalue
}
Run Code Online (Sandbox Code Playgroud)

当我设定值myObj.myval="somethingAgain";

然后这不起作用,通常可以通过这种方法轻松设置或获取对象,但在这种情况下为什么会这样呢?

通过调用来检索值,myObj.myval但为什么我不能在这里设置值?

那么建议我哪里错了?

Jes*_*sse 2

这似乎可以通过以下的小调整来实现。

更新:

对你来说似乎太长了,速记更好吗?

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

比这样调用它来设置

myObj.myval("Add this");
Run Code Online (Sandbox Code Playgroud)

或得到

myObj.myval();
Run Code Online (Sandbox Code Playgroud)

小提琴: http: //jsfiddle.net/4WsNx/

希望这可以帮助。