我想使用本地会话存储来维护我的Web应用程序中的状态,尤其是当用户在浏览器中打开多个选项卡时。 p>
我在服务器上的HTML中注入了一些数据。在页面的document.ready部分,我有这样的事情:
MyStorage = window.sessionStorage;
MyStorage.setItem('MyVar', $('#TheVar').html());
如果以后我写这个:
ThisVar = MyStorage.getItem('MyVar');
ThisVar = 3;
会话存储中的值是否也会变为3?并且,当我在一个选项卡中更改ThisVar的值时,其他选项卡中所有变量ThisVar的值是否也为3?
感谢。
答案 0 :(得分:3)
ThisVar
分配新值,而不是sessionStorage
键值对。getItem
返回值,即存储密钥的字符串。答案 1 :(得分:0)
使用关键字var
初始化变量。
(回答你的问题)不。你没有处理引用,localStorage.getItem()
函数将值作为字符串返回,而不是作为引用。您需要像在第一时间那样使用localStorage.setItem()
功能来更新存储。这就是为什么,我建议你直接在存储上工作,而不是使用额外的变量。 (另一方面,您可以使用一个函数,在更改变量值时更新存储。)