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

How to use a string value containing Web Storage type to call Web Storage API functions in JS/JQuery?

本文关键字:Web Storage 类型 字符串 函数 API 调用 包含 JS JQuery      更新时间:2023-09-26

我在js/jquery中编写了一个小脚本,用于保存表单字段,供用户保存表单并稍后完成,目前我使用sessionStorage来完成此任务没有问题,但我想增强脚本以允许开发人员定义他们是否想使用本地或sessionStorage,但我不确定如何去做,因为我仍然是这个领域的新手:p。在我的脑海中,我有这个计划,开发人员可以定义一个属性,让我们说'数据存储类型'的表单标签,他们可以用会话或localStorage的值,然后我可以使用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;
}