JavaScript 随机数 | 您所在的位置:网站首页 › 华为手机usb接口怎么设置 › JavaScript 随机数 |
原文: https://www.freecodecamp.org/news/javascript-random-number-how-to-generate-a-random-number-in-js/ 在使用 JavaScript 程序时,有时你可能需要生成一个随机数。 例如,你可能希望在开发 JavaScript 游戏(例如猜数字游戏)时生成一个随机数。 JavaScript 有许多用于处理数字和执行数学计算的内置方法。其中一种方法是 Math.random() 方法。 在本文中,你将学习如何使用 Math.random() 方法来检索随机数。 以下是我们将介绍的内容: Math 对象简介Math.random() 语法分解如何生成具有指定 max 值的随机小数如何生成具有指定 min 和 max 范围的随机小数如何生成具有指定 max 值的随机整数如何生成具有(并包含)指定 max 值的随机整数如何生成具有指定 min 和 max 范围的随机整数如何在 JavaScript 中使用 Math——Math 对象简介JavaScript 有内置的静态对象 Math,它允许你执行数学计算和运算。 Math 对象有一些内置方法,可以更准确地执行这些操作。 Math 对象方法的一般语法如下: Math.methodName(number);一些最流行的方法是: Math.round()Math.ceil()Math.floor()Math.random()让我们看一些如何实现这些方法的示例。 如果要将数字四舍五入到最接近的整数,请使用 Math.round() 方法: console.log(Math.round(6.2)); // 6 console.log(Math.round(6.3)); // 6 console.log(Math.round(6.5)); // 7 console.log(Math.round(6.8)); // 7如果要将数字向上舍入到最接近的整数,请使用 Math.ceil() 方法: console.log(Math.ceil(6.2)); // 7 console.log(Math.ceil(6.3)); // 7 console.log(Math.ceil(6.5)); // 7 console.log(Math.ceil(6.8)); // 7如果要将数字向下舍入到最接近的整数,请使用 Math.floor() 方法: console.log(Math.floor(6.2)); // 6 console.log(Math.floor(6.3)); // 6 console.log(Math.floor(6.5)); // 6 console.log(Math.floor(6.8)); // 6如果要生成随机数,请使用 Math.random() 方法: console.log(Math.random()); // 你不会得到相同的输出 // 第一次运行程序: // 0.4928793139100267 // 第二次运行程序: // 0.5420802533292215 // 第三次运行程序: // 0.5479835477696466 JavaScript 中的 Math.random() 方法是什么Math.random() 方法的语法如下: Math.random();该方法不带任何参数。 默认情况下,该方法返回一个介于 0 和 1 之间的随机小数(或浮点数)值。 需要注意的是,0 包含在内,而 1 不包含在内。 因此,它将返回一个大于或等于 0 且始终小于且从不等于 1 的值。 如何在 JavaScript 中使用 Math.random() 生成具有指定 max 的随机小数如你目前所见,默认情况下,Math.random() 生成的数字很小。 如果你想生成一个从 0 开始并包含 0 并且也大于 1 的随机十进制数怎么办?为此,指定一个最大的数。 具体来说,你需要将此最大数与来自 Math.random() 的随机数相乘。 例如,如果要生成 0 到 10 之间的随机数,可以执行以下操作: console.log(Math.random() * 10); // 你不会得到相同的输出 //9.495628210218175在上面的示例中,我将作为限制的最大数(10)与 Math.random() 的结果数相乘。 请记住,在这种情况下,随机数将介于 0 和 10 之间——这意味着大于或等于 0 且小于且永远不会等于 10。 如何在 JavaScript 中使用 Math.random() 生成具有指定 min 和 max 范围的随机小数如果你想在指定的数字范围内生成一个随机十进制数怎么办? 你在上一节中看到了如何指定最大值,但是如果你不希望范围从 0 开始(这是默认的起始范围),怎么办?为此,你还可以指定一个最小值。 在两个值(或范围)之间生成小数的语法是这样的: Math.random() * (max - min) + min;我们来看下面的例子: // 指定最小值 - 范围开始的位置 let min = 20.4; // 指定最大值 - 范围将在哪里结束 let max = 29.8;我创建了两个变量,min 和 max——其中 min 将是范围内的最小数字,而 max 将是最大的数字。 接下来,我使用你之前看到的语法在该范围内生成一个随机数: let min = 20.4; let max = 29.8; let randomNum = Math.random() * (max - min) + min; console.log(randomNum); // 你不会得到相同的输出 // 23.309418058783486这里需要注意的是 min 包含在内,因此随机数将大于或等于 20.4,而 max 不包含在内,因此结果将始终是小于且永远不会等于 29.8 的数字。 如何在 JavaScript 中使用 Math.random() 生成具有指定 max 的随机整数到目前为止,你已经了解了如何生成随机十进制数。 也就是说,有一种方法可以使用 Math.random() 生成随机整数。 你需要将 Math.random() 计算的结果传递给之前看到的 Math.floor() 方法。 语法如下: Math.floor(Math.random());Math.floor() 方法会将随机十进制数四舍五入到最接近的整数。 最重要的是,你可以指定最大数。 因此,例如,如果你想生成一个介于 0 和 10 之间的随机数,你可以执行以下操作: console.log(Math.floor(Math.random() * 10)); // 你不会得到相同的输出 // 0在此示例中,我将最大数(在本例中为 10)与 Math.random() 的结果相乘,并将此计算的结果传递给 Math.floor()。 这里需要注意的是,随机数将介于 0(含)和 10(不含)之间。因此,数字可以大于或等于 0,并且小于且永远不等于 10。 如何在 JavaScript 中使用 Math.random() 生成具有(并包含)指定 max 的随机整数在上一节的示例中,我生成了一个介于数字 0(含)和 10(不含)之间的随机数。 到目前为止,你已经看到无法生成等于指定最大值的随机数。 如果要生成包含指定最大值的随机数怎么办? 解决这个问题的方法是在计算过程中加 1。 所以,让我们重温上一节的代码: console.log(Math.floor(Math.random() * 10));你现在将重新编写代码,如下所示: console.log(Math.floor(Math.random() * 10) + 1); // 你不会得到相同的输出 // 10这里需要注意的是,这段代码会生成一个介于 1(不是 0)和 10 之间的随机整数——包括 10。 如何在 JavaScript 中使用 Math.random() 生成具有指定 min 和 max(包含)范围的随机整数到目前为止,你已经了解了如何生成具有指定最大值的随机整数。 正如你在上面的示例中看到的,使最大数字包含在内的代码使用数字 1 作为起始数字,而不是 0。 也就是说,有一种方法可以让你指定一个包含的数字范围。为此,你需要指定 min 和 max。 在上一节中,你看到了如何在指定范围内生成随机数,代码类似。唯一的变化是你将结果传递给 Math.floor() 方法以将小数四舍五入到最接近的整数。 代码如下: Math.floor(Math.random() * (max - min) + min);要使该范围包含在内,你将执行以下操作: console.log(Math.floor(Math.random() * (max - min + 1)) + min);因此,要生成数字 0(含)和 10(含)之间的随机数,你可以编写以下代码: let min = 0; let max = 10; console.log(Math.floor(Math.random() * (max - min + 1)) + min); //你不会得到相同的输出 // 0 总结好啦,你现在知道了 Math.random() 方法的工作原理以及如何使用它的一些方法。 要了解有关 JavaScript 的更多信息,请访问 freeCodeCamp 的 JavaScript 算法和数据结构认证。这是一个免费的、精心设计的、结构化的课程,你将在其中以交互方式学习编程。最后,你还将构建 5 个项目以获得认证并巩固你的知识。 谢谢你阅读本文! |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |