【问题标题】:Using Variable to Multiply Math.random()使用变量乘以 Math.random()
【发布时间】:2012-12-07 12:32:01
【问题描述】:

我需要将 Math.random() 方法与一个变量相乘。示例:

a = 2;
b = Math.floor(Math.random()*a);
alert(b);

然而这并没有做任何事情。有没有我需要写它的特定方式?如果不是,那么如果我放了 alert(b),为什么 javascript 会发出警报;或类似的东西。

【问题讨论】:

  • 你想对随机变量做什么。除非你在 node.js 中使用 repl,否则你必须对变量做一些事情。
  • 什么都不做”是什么意思?代码是有效的,但你当然需要某种输出(alertconsole.log、DOM 操作、repl 中的返回)来查看结果。
  • 什么都不做是什么意思?
  • 代码看起来不错:jsfiddle.net/SdpfK

标签: javascript random


【解决方案1】:

嗯...乘以 1 是无操作的。试试a=10,看看有没有更好的结果。

【讨论】:

  • 好吧,幽默吧。试试a=10,看看你是否得到了你想要的东西。
  • 嗯,你对结果做了什么吗? alert? document.write?
  • 它可能也不适用于 10...考虑一些小分数,例如 0.0293,乘以 10 = .293。地板,你得到......零。尝试更大的乘数,例如 1000。
  • 我正在提醒它。但什么也没发生。
  • 您的控制台中有任何错误消息吗? “什么都没有”发生是很奇怪的。 Try this JSFiddle 并将代码与您的代码进行比较。有什么不同吗?
【解决方案2】:

Math.random() 返回一个介于 0 和 1 之间的数字,而您是 flooring 它,所以当您 floor() 它时,将它乘以 1 不会得到任何结果。

【讨论】:

  • 只是一个例子。我现在已将其更改为 2,因为这似乎使人们感到困惑。
  • 所以运行几次,你最终会得到非零的东西。
  • 问题是什么都没有发生。它应该发出警报,但它什么也没做。
  • 那么您的代码中的其他地方可能有错误。这提醒我很好jsfiddle.net/NSqhJ
  • 好吧,我已经删除了所有内容,但它什么也没做,我什至删除了它,并用总是可以工作但没有任何作用的东西替换它,所以它似乎没有调用它。跨度>
猜你喜欢
  • 2017-04-24
  • 2010-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-09
  • 1970-01-01
  • 2015-08-21
  • 1970-01-01
相关资源
最近更新 更多