javascript怎样生成随机数和随机字符串?_javascript的Math对象如何使用?

14次阅读

javaScript生成随机数和字符串核心是math.random(),它返回[0,1)浮点数;配合Math.floor可生成指定范围整数,如Math.floor(Math.random()*100)+1得1–100;随机字符串通过字符池循环取索引实现。

javascript怎样生成随机数和随机字符串?_javascript的Math对象如何使用?

javascript 生成随机数和随机字符串,核心靠 Math.random(),它返回一个大于等于 0、小于 1 的浮点数。配合 Math 其他方法(如 floorroundceil),就能灵活控制范围和类型。

生成指定范围的随机整数

比如要生成 1 到 100 之间的随机整数(含 1 和 100):

  • Math.floor(Math.random() * 100) + 1:先乘 100 得 [0, 100),再向下取整得 0–99,+1 后变成 1–100
  • 通用公式:Math.floor(Math.random() * (max - min + 1)) + min
  • 注意别用 Math.round(),它会让两端概率变低(比如 round(0.0–0.49)→0,round(0.5–0.99)→1,0 出现概率只有约 50%,1 却有约 50%+)

生成随机字符串(固定长度、可选字符集)

常用做法是定义字符池,再循环随机取字符拼接:

  • 基础版(小写字母 + 数字,长度 6):
    const Chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
    let str = '';
    for (let i = 0; i < 6; i++) {
    str += chars.charAt(Math.floor(Math.random() * chars.Length));
    }
  • 更简洁写法(es6):
    Array.from({length: 6}, () => chars[Math.floor(Math.random() * chars.length)]).join('')
  • 想支持大小写字母+数字+符号?把 chars 换成:
    'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%'

Math 对象常用方法速查

Math 是静态对象,所有方法都直接通过 Math.xxx() 调用,不需实例化:

立即学习Java免费学习笔记(深入)”;

  • Math.random():唯一不带参数的方法,返回 [0, 1)
  • Math.floor(x):向下取整(≤x 的最大整数),适合生成随机整数
  • Math.ceil(x):向上取整(≥x 的最小整数)
  • Math.round(x):四舍五入到最近整数(.5 向上舍入)
  • Math.max(...arr) / Math.min(...arr):求最大/最小值(支持展开)
  • Math.pow(x, y)x ** y:幂运算
  • Math.abs(x)Math.sqrt(x)Math.log(x) 等:基础数学函数

基本上就这些。关键记住:Math.random() 是起点,搭配 floor 最稳妥;字符串靠字符池 + 循环取索引;Math 方法全是纯函数,无副作用,用起来很轻量。

text=ZqhQzanResources