每次我调用此功能。我希望输出增加1。问题是我的变量是一个字符串......
更好的解释(也许)
如何得到它!?
这是我到目前为止的代码......
function addLink(){
if(localStorage.getItem('howManyLinks') <= 1){
localStorage.setItem('howManyLinks', localStorage.getItem('howManyLinks') + 1)
}
else{
localStorage.setItem('howManyLinks', '1');
}
alert(localStorage.getItem('howManyLinks'))
}
谢谢! :d
答案 0 :(得分:0)
您需要将字符串转换为数字:
Number(localStorage.getItem('howManyLinks')) + 1
您还可以使用一元+
运算符强制转换
+localStorage.getItem('howManyLinks') + 1
我个人不喜欢使用它,但很多人都喜欢它。
这是必要的原因是因为字符串上的+
是连接,因此'1' + 1
将返回'11'
。
答案 1 :(得分:-2)
你必须将该字符串强制转换为数字... 有很多方法可以做到这一点(http://jsperf.com/best-of-string-to-number-conversion/10) 我使用“&gt;&gt; 0”
function addLink(){
if(localStorage.getItem('howManyLinks') <= 1){
localStorage.setItem('howManyLinks', (localStorage.getItem('howManyLinks')>>0) + 1)
}
else{
localStorage.setItem('howManyLinks', 1);
}
alert(localStorage.getItem('howManyLinks'))
}
addLink(); //alerts 1
addLink(); //alerts 2
addLink(); //alerts 3
addLink(); //alerts 4