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

raf*_*uto 3 javascript random

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

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

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

Viv*_*ath 13

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

  • +1,是唯一正确的答案...... :) (3认同)
  • 你可能想知道这篇文章. (3认同)