📜  javascript 随机到 abs - Javascript (1)

📅  最后修改于: 2023-12-03 15:31:46.546000             🧑  作者: Mango

JavaScript 随机数生成器

在编写 JavaScript 应用程序时,我们经常需要使用随机数字生成器。随机数生成器可用于模拟数据、加密算法、游戏等多个用途。本文将讨论如何使用 JavaScript 生成随机数,并提供一些实用示例。

Math.random() 方法

JavaScript 提供了 Math.random() 方法来生成伪随机数字,该数字在 0 到 1 之间,不包括 1。下面是使用 Math.random() 方法生成随机数字的示例:

const randomNum = Math.random();
console.log(randomNum);

这会在控制台输出一个介于 0 和 1 之间的伪随机数字。

为了生成一个介于 minmax 之间的随机数字,我们可以根据以下公式自定义一个函数:

function getRandomNumber(min, max) {
  return Math.random() * (max - min) + min;
}

const randomNum = getRandomNumber(1, 10);
console.log(randomNum);

这个函数将返回一个介于 1 和 10 之间的随机数字。

然而,上述函数返回的随机数字可能包括浮点数值。如果您需要生成整数值,请将返回值取整:

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

const randomNum = getRandomInteger(1, 10);
console.log(randomNum);

这个函数将返回一个介于 1 和 10 之间的随机整数。

示例
模拟投硬币

以下示例模拟投硬币,并输出投掷次数和正面朝上的次数:

let tosses = 0;
let heads = 0;
let tails = 0;

while (tosses < 10) {
  const randomNum = getRandomInteger(0, 1);
  if (randomNum === 0) {
    heads++;
    console.log('Heads!');
  } else {
    tails++;
    console.log('Tails');
  }
  tosses++;
}

console.log(`Heads: ${heads}, Tails: ${tails}, Total tosses: ${tosses}`);
数字猜谜游戏

以下示例是一个猜数字游戏。该游戏会随机生成一个介于 1 和 100 之间的数字,然后提示玩家猜测该数字,直到猜测正确:

const answer = getRandomInteger(1, 100);
let guess = -1;
let attempts = 0;

while (guess !== answer) {
  guess = prompt('Guess a number between 1 and 100');
  attempts++;
  if (guess < answer) {
    alert('Try a higher number');
  } else if (guess > answer) {
    alert('Try a lower number');
  } else {
    alert(`You guessed it in ${attempts} attempts!`);
  }
}
结论

本文讨论了如何使用 Math.random() 方法来生成随机数字,并提供了一些实用示例。请记住,Math.random() 方法只是生成伪随机数字的方法,并不能保证安全加密。随机性仍然受到计算机熵的限制。