我在这里有此代码:
<script>
const stored = localStorage[location.href]
const number = stored || Math.floor(Math.random() * 6) + 2
document.getElementById("n1").innerHTML = number
if ( !stored ) localStorage[location.href] = number
</script>
<div>
The first number is <span id="n1"></span>.
</div>
这将显示2到6之间的随机数,并将其保存到用户的缓存中,因此,如果他重新加载页面,则该数字将再次出现。但是我现在想做的是显示第二个数字,而我正在尝试这样做:
<script>
const stored2 = localStorage[location.href]
const number2 = stored2 || Math.floor(Math.random() * 8) + 3
document.getElementById("n2").innerHTML = number2
if ( !stored2 ) localStorage[location.href] = number2
</script>
<div>
The second number is <span id="n2"></span>.
</div>
但是<span id="n2"></span>
始终显示与<span id="n1"></span>
中相同的数字。我想这与用户缓存中的本地存储有关。
预先感谢
答案 0 :(得分:4)
您已将两个数字存储在同一密钥(localStorage
下的location.href
中,因此第二个数字将覆盖第一个数字。
您需要使用其他键或将数字存储在JSON字典中,然后将其存储。