使用模板文字动态创建localStorage密钥时出现问题

时间:2019-06-30 15:25:58

标签: javascript local-storage template-literals

我试图将值保存到使用模板文字创建的键来将值保存到localStorage,以从现有字符串和变量作为键来创建新字符串,并将字符串和数字并置为值。

在控制台中,字符串似乎已正确格式化以用于本地存储,但是在运行时会产生错误“ TypeError:无法在“存储”上执行“ setItem”:需要2个参数,但只有1个。”

*下面的代码段引发了一个沙箱错误,而不是我在本地环境中收到的错误。谁能告诉我我在做什么错?enter image description here

var tm="Charlotte Knights";
var cl ="AA";
var yr = 2019;

console.log(`"my${cl}", "${tm}_${yr}"`)
localStorage.setItem(`"my${cl}", "${tm}_${yr}"`)

1 个答案:

答案 0 :(得分:4)

localStorage.setItem(`"my${cl}", "${tm}_${yr}"`)一个字符串传递给setItem函数。要传递两个,您需要在逗号之前结束模板文字,然后在它之后开始另一个文字:

localStorage.setItem(`my${cl}`, `${tm}_${yr}`)
// --------------------------^--^

除非您想在键和值中使用实际的"字符,否则也要摆脱模板中的"