javascript - 如何使用包含Web Storage类型的字符串值在JS/JQuery中调用Web Storage API函数?

标签 javascript jquery local-storage session-storage web-storage

我正在用 js/jquery 编写一个小脚本,用于保存表单字段,以便用户保存表单并稍后完成它们,目前我正在使用 sessionStorage 来完成此任务,没有问题,但我想增强脚本以允许开发人员定义 if他们想使用本地存储或 session 存储,但我不知道如何去做,因为我仍然是这个领域的菜鸟:P。在我的脑海中,我有一个计划,开发人员可以定义一个属性,让我们在表单标签上定义“数据存储类型”,他们可以使用 session 或本地存储对其进行赋值,然后我可以使用 Jquery 来获取该值,如下所示:

value = $(this).attr('data-storage-type');

然后从那里开始保存我的存储,但我对 jquery/js 还很陌生,所以我想知道我是否可以调用他们在这个变量中定义的存储类型来调用作为构建的一部分的 get 和 setItem 函数在 Webstorage api 中。

所以如果 value =“localStorage”,我可以这样调用它吗:

value.getItem(arg);

因为我很确定你不能这样做:

"localStorage".getItem(arg);

有什么办法可以调用这个吗?或者有更好的方法来解决这个问题吗?谢谢!

最佳答案

你可以做类似的事情

window[value].getItem(arg);// where value can be 'localStorage' string

或者你可以使用 switch 语句

switch(value) {
  case 'localStorage':
    localStorage.getItem(arg); 
    break;
  case 'sessionStorage':
    sessionStorage.getItem(arg); 
    break;
}

关于javascript - 如何使用包含Web Storage类型的字符串值在JS/JQuery中调用Web Storage API函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38874421/

相关文章:

javascript - AJAX 上传完成后重新加载页面

javascript - 只有五分之一的 div 转换正确

javascript - 如何旋转轮播元素并隐藏最远的元素

javascript - 将多个条目保存到本地存储中的同一帖子

javascript - 通过 HTML5 本地存储检查重复 key

javascript - 查找离群值

javascript - 不明白为什么需要return语句

javascript - 使具有用户交互的 jQuery .mouseenter()/.mouseleave() 脚本工作时出现问题

jquery - 单击jquery中的元素时增加位置

javascript - React Local Storage 和 Service Worker(重新上线时发送数据