我正在使用此函数生成随机 int 值:
var r = function(min, max){
return Math.floor(Math.random() * (max - min + 1)) + min;
};
它完美地工作,但让我想知道......为什么javascript中没有randomInt和randomFloat?
我正在使用此函数生成随机 int 值:
var r = function(min, max){
return Math.floor(Math.random() * (max - min + 1)) + min;
};
它完美地工作,但让我想知道......为什么javascript中没有randomInt和randomFloat?
JavaScript 有Number
一个 64 位浮点类型;Integer
本身没有类型。Math.random
本身给你一个 random Number
,它已经是一个 64 位浮点数。我不明白为什么不能有 a Math.randomInt
(在内部它可以截断、下限或上限值)。关于为什么语言没有它没有很好的答案;您将不得不问Brendan Eich。Math.ceil
但是,您可以使用或模拟您想要的内容Math.floor
。这会给你一个整数,这不是一个真正的Integer
类型,但仍然是一个Number
类型。
因为 Javascript 没有这些类型。纯 javascript 只有一个泛型number
类型。
更多关于 Javascript 类型的信息可以在这里和这里找到。
您可能还想研究这个问题:JavaScript 中的整数
标记的答案说,我引用:
Javascript 中实际上只有几种数据类型:对象、数字和字符串。如您所见,JS 数字都是 64 位浮点数。没有整数。