我正在使用此函数生成随机int值:
var r = function(min, max){
return Math.floor(Math.random() * (max - min + 1)) + min;
};
它工作得很完美,但让我想知道...为什么javascript中没有randomInt和randomFloat?
答案 0 :(得分:13)
JavaScript有一个Number
类型,它是一个64位浮点数;本身没有Integer
类型。 Math.random
本身会为您提供一个随机Number
,它已经是64位浮点数。我不明白为什么没有Math.randomInt
(内部它可以截断,覆盖或细化值)。关于为什么语言没有它,没有好的答案;你不得不问Brendan Eich。但是,您可以使用Math.ceil
或Math.floor
模拟您想要的内容。这会返回整数,这不是Integer
类型,但仍然是Number
类型。
答案 1 :(得分:2)
因为Javascript没有这些类型。纯JavaScript只有一般的number
类型。
有关Javascript类型的更多信息,请访问here和here。
您可能还想查看此问题:Integers in JavaScript
明确的答案说,我引用:
Javascript中实际上只有几种数据类型:对象,数字和字符串。在您阅读时,JS编号都是64位浮点数。没有整体。