为什么javascript没有随机函数来生成整数?

时间:2013-09-11 17:23:42

标签: javascript random

我正在使用此函数生成随机int值:

var r = function(min, max){
  return Math.floor(Math.random() * (max - min + 1)) + min;
};

它工作得很完美,但让我想知道...为什么javascript中没有randomInt和randomFloat?

2 个答案:

答案 0 :(得分:13)

JavaScript有一个Number类型,它是一个64位浮点数;本身没有Integer类型。 Math.random本身会为您提供一个随机Number,它已经是64位浮点数。我不明白为什么没有Math.randomInt(内部它可以截断,覆盖或细化值)。关于为什么语言没有它,没有好的答案;你不得不问Brendan Eich。但是,您可以使用Math.ceilMath.floor模拟您想要的内容。这会返回整数,这不是Integer类型,但仍然是Number类型。

答案 1 :(得分:2)

因为Javascript没有这些类型。纯JavaScript只有一般的number类型。

有关Javascript类型的更多信息,请访问herehere

您可能还想查看此问题:Integers in JavaScript

明确的答案说,我引用:

  

Javascript中实际上只有几种数据类型:对象,数字和字符串。在您阅读时,JS编号都是64位浮点数。没有整体。