【发布时间】:2022-01-14 22:16:15
【问题描述】:
我想让 num1 和 num2 生成为 1-12 的随机数,当我运行它时,我只得到 2+2。
这是我认为我的代码有问题的地方
function generate_equation() { //generates random numbers and random equation
var num1 = Math.floor(Math.random) * 13;
var num2 = Math.floor(Math.random) * 13;
var all_answers = [];
var switch_answers = [];
answer = num1 + num2;
document.getElementById(num1).innerHTML = num1;
document.getElementById(num2).innerHTML = num2;
}
<div class="equation">
<h1 id="num1" style="padding: 0 5px">2</h1>
<h1 id="operator" style="padding: 0 5px">+</h1>
<h1 id="num2" style="padding: 0 5px">2</h1>
</div>
这是完整代码的链接,由于大学的某些情况,并非所有内容都已完成。 https://jsfiddle.net/LiamBox/f406mgpb/3/
【问题讨论】:
-
你在哪里调用你的函数?我们需要一个minimal reproducible example,它必须在这里,而不是在另一个网站上
-
getElementById(num1)应该是getElementById("num1"),Math.random应该是Math.random()。我会稍微慢一点,逐行一小块地工作,console.log每一步的一切都确保它按您的预期工作,而不是一头扎进并解决多个问题。Math.floor(Math.random() * 13)--floor应该包裹整个东西,否则你总是会得到 0。我推荐 How to Debug Small Programs -
专业提示:如果您打开浏览器控制台,您遇到的许多问题都可以轻松调试 :) 这是一个非常有用的工具,可以找出您的脚本没有执行或抛出的原因错误,因为错误消息通常包含足够的信息来帮助您调试代码。
标签: javascript html