首页 > 解决方案 > 用 Javascript 显示 2 个随机数

问题描述

我在这里有这段代码:

<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>is 显示的数字始终与 中相同<span id="n1"></span>。我想这与用户缓存中的本地存储有关。如何让它显示 2 个不同的数字,但继续将这些数字存储在用户的缓存中,这样如果他重新加载页面,将显示相同的 2 个数字?

提前致谢

标签: javascripthtml

解决方案


您已将两个数字存储在localStorage同一个键 ( location.href) 下,因此第二个将覆盖第一个。

您需要使用不同的键或将数字存储在 JSON 字典中并将其存储。


推荐阅读