【发布时间】:2017-05-01 17:56:00
【问题描述】:
我正在尝试制作一个超速应用程序,要求用户通过输入输入预定义的速度限制,我使用本地存储来存储数字,但它像“数字”一样存储它,而不仅仅是数字它在它们周围加上引号,使其成为字符串,在我的应用程序中无用。
这里是 JS
var limit = 20;
var limitfield = document.getElementById('limit1') //Places limit1 field from HTML into variable
limitfield.addEventListener('input', updateStorage); //Adds eventlistener to listen to input in limit1 field then call method
function updateStorage (){
localStorage.setItem('limitfield', limitfield.value); //After obtaining the input from eventlistener store the value in variable
setPreference();
}
function setPreference(){
limit = localStorage.getItem('limitfield'); //variable created that retrieves value
}
【问题讨论】:
-
这就是它的工作原理。 Web Storage 存储字符串。如果您需要一个数字,您始终可以在变量前面使用
+运算符进行转换,或者仅在数字上下文中使用您的变量。 -
哦,我对此很陌生,所以我不知道。您能告诉我如何将变量放在数字上下文中吗?运算符是什么意思?
-
始终存储 JSON 格式,您会为您省去很多问题:设置:
localStorage.setItem(key, JSON.stringify(value));。获取:var value = JSON.parse(localStorage.key) -
@Kaiido 如何保存为 JSON 格式?它会解决这个问题吗?
标签: javascript