【问题标题】:Javascript storing actual name of a string variable rather than its value in localStorageJavascript存储字符串变量的实际名称而不是其在localStorage中的值
【发布时间】:2015-03-11 20:18:18
【问题描述】:

我想每天生成一个新的字符串变量并将其作为新条目存储到本地存储中。字符串的格式是“timeDataXXXX”,其中 XXXX 是一个数字,显示自 1970 年 1 月 1 日午夜以来的天数。XXXX 由函数numDaysSinceUTC(); 计算并返回

这是我尝试做的事情

var newStorageName = "timeData" + numDaysSinceUTC();

然后我将它输入到本地存储中

chrome.storage.local.set({newStorageName : 0}, function(){});

然后,当我检查本地存储的内容而不是获取与格式对应的内容时,我得到的字面意思是“newStorageName”作为内容(键),变量名不是它的值。最终覆盖。怎么了?

【问题讨论】:

  • 这是浏览器扩展吧,不是网站。
  • 是的,绝对是

标签: javascript google-chrome local-storage storage


【解决方案1】:

您需要单独创建对象。您不能使用对象文字语法创建动态属性名称。相反,首先创建对象,然后使用方括号表示法添加属性:

var obj = {};
obj[newStorageName] = 0;
chrome.storage.local.set(obj, function(){});

【讨论】:

    【解决方案2】:
    var data = numDaysSinceUTC();
    localStorage.setItem("KeyName",data);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-11
      • 2014-02-12
      • 1970-01-01
      • 2021-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多