共计 3868 个字符,预计需要花费 10 分钟才能阅读完成。
应用 Javascript 生成随机数
要在 Javascript 中生成随机数,能够应用 Math 对象的 random() 办法。该办法返回一个大于等于 0 小于 1 的伪随机浮点数。
Javascript 中的 Math.random() 函数是一个用于生成随机数的内置函数。
MDN 官网解释
Math.random() 函数返回一个浮点数,伪随机数在范畴从 0 到小于 1,也就是说,从 0(包含 0)往上,然而不包含 1(排除 1),而后您能够缩放到所需的范畴。实现将初始种子抉择到随机数生成算法; 它不能被用户抉择或重置。
这个函数没有任何参数,每次调用它都会返回一个新的随机数。
更多具体内容,请 微信搜寻“前端爱好者
“, 戳我 查看。
浏览器兼容性
以下是应用 Javascript 生成随机数的示例代码:
-
生成一个介于 0 到 1 之间的随机小数:
let randomNumber = Math.random(); console.log(randomNumber);
-
生成一个介于指定范畴内的随机整数(蕴含最小值和最大值):
function getRandomInt(min, max) {return Math.floor(Math.random() * (max - min + 1)) + min; } let randomInteger = getRandomInt(1, 10); // 生成 1 到 10 之间的随机整数 console.log(randomInteger);
- 生成一个介于 0 和 10 之间的随机整数
var randomInt = Math.floor(Math.random() * 11);
console.log(randomInt);
在这个示例中,咱们将 Math.random()的后果乘以 11,而后应用 Math.floor()函数向下取整以取得一个整数。
-
生成一个介于指定范畴内的随机浮点数:
function getRandomFloat(min, max) {return Math.random() * (max - min) + min; } let randomFloat = getRandomFloat(1.5, 5.5); // 生成 1.5 到 5.5 之间的随机浮点数 console.log(randomFloat);
这些示例代码演示了如何通过 Math.random() 办法生成不同类型的随机数。你能够依据须要进行调整和扩大。
如何应用 Javascript 代码来生成一个蕴含中划线的 17 位随机数,第五位须要是中划线
上面是对生成蕴含中划线的 17 位随机数的 Javascript 代码进行具体解析:
function generateRandomNumber() {
var result = ''; // 初始化一个空字符串来保留最终生成的随机数
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; // 定义可能呈现的字符汇合
var charactersLength = characters.length; // 获取字符汇合的长度
for (var i = 0; i < 17; i++) {if (i === 4) {result += '-'; // 在第五位插入中划线} else {
// 在其余地位生成随机字符
var randomIndex = Math.floor(Math.random() * charactersLength); // 生成一个随机索引,范畴从 0 到 charactersLength-1
var randomCharacter = characters.charAt(randomIndex); // 依据随机索引获取一个字符
result += randomCharacter; // 将随机字符增加到后果字符串中
}
}
return result; // 返回生成的随机数
}
var randomNum = generateRandomNumber(); // 调用 generateRandomNumber 函数来获取随机数
console.log(randomNum); // 打印随机数到控制台
这段代码应用了一个 for
循环来生成一个蕴含中划线的 17 位随机数。上面是代码的具体解析:
- 首先,咱们定义了一个名为
generateRandomNumber
的函数,它没有参数。 - 在函数外部,咱们初始化了一个空字符串
result
,用于保留最终生成的随机数。 - 咱们定义了一个蕴含可能呈现的字符的字符串
characters
,其中包含大写字母、小写字母和数字。 - 通过
characters.length
获取到字符汇合的长度,并将其存储在变量charactersLength
中。 - 接下来,咱们应用一个
for
循环来生成随机数。循环的条件为i < 17
,即执行循环体 17 次。 - 在循环体内,咱们应用条件语句判断以后的索引
i
是否为第五位(即i === 4
)。如果是第五位,则在后果字符串result
中增加一个中划线(-
)。 -
如果以后索引不是第五位,则通过以下步骤生成一个随机字符:
- 生成一个随机索引
randomIndex
,范畴从 0 到charactersLength - 1
,应用Math.floor(Math.random() * charactersLength)
实现。 - 依据随机索引
randomIndex
从字符汇合characters
中获取一个随机字符,并将其存储在变量randomCharacter
中。 - 将随机字符
randomCharacter
增加到后果字符串result
中。
- 生成一个随机索引
- 循环完结后,咱们返回生成的随机数
result
。 -
最初,咱们调用
generateRandomNumber
函数并将后果保留在变量randomNum
中。- 您能够依据须要批改函数名和变量名。
- 咱们应用
console.log
将生成的随机数打印输出到控制台。
这就是生成蕴含中划线的 17 位随机数的 Javascript 代码的解析过程。
须要留神的是,Math.random()函数生成的是伪随机数,也就是说它们是通过某种算法计算失去的,并不是真正随机的,并不能保障相对的唯一性。如果须要更高质量的随机数,可能须要应用其余的库或算法,如 UUID。
扩大
Javascript Math 对象
Javascript 的 Math 对象是一个内置的数学对象,它提供了用于进行数学计算的办法和常量。
上面是一些罕用的 Math 对象的属性和办法:
- Math.PI:示意圆周率 π 的近似值,约为 3.14159。
- Math.abs(x):返回一个数的绝对值,即该数的正值。
- Math.ceil(x):返回大于或等于给定数字的最小整数。
- Math.floor(x):返回小于或等于给定数字的最大整数。
- Math.round(x):返回给定数字的四舍五入值。
- Math.max(x, y, …):返回一组数字中的最大值。
- Math.min(x, y, …):返回一组数字中的最小值。
- Math.random():生成一个大于等于 0 小于 1 的随机数。
- Math.sqrt(x):返回给定数的平方根。
除了这些罕用的办法外,Math 对象还提供了其余一些数学计算的办法,如三角函数、指数和对数等。
应用办法示例:
console.log(Math.PI); // 输入圆周率的近似值 3.14159
var x = -10;
console.log(Math.abs(x)); // 输入 10
var y = 3.7;
console.log(Math.ceil(y)); // 输入 4
console.log(Math.floor(y)); // 输入 3
console.log(Math.round(y)); // 输入 4
console.log(Math.max(5, 10, 2)); // 输入 10
console.log(Math.min(5, 10, 2)); // 输入 2
console.log(Math.random()); // 输入一个大于等于 0 小于 1 的随机数
var z = 16;
console.log(Math.sqrt(z)); // 输入 4
这只是 Math 对象的一些罕用办法和属性,还有其余更多功能能够在 Javascript 的文档中查找到。
其余应用 JavaScript 的 Math 对象的示例
- 生成随机数:
var randomNum = Math.random(); // 生成一个大于等于 0 小于 1 的随机数
console.log(randomNum);
- 计算绝对值:
var x = -10;
var absValue = Math.abs(x); // 计算 x 的绝对值
console.log(absValue);
- 向上取整和向下取整:
var y = 3.7;
var ceilValue = Math.ceil(y); // 向上取整
var floorValue = Math.floor(y); // 向下取整
console.log(ceilValue);
console.log(floorValue);
- 四舍五入:
var z = 3.2;
var roundedValue = Math.round(z); // 四舍五入
console.log(roundedValue);
- 计算最大值和最小值:
var maxNum = Math.max(5, 10, 2); // 计算一组数字中的最大值
var minNum = Math.min(5, 10, 2); // 计算一组数字中的最小值
console.log(maxNum);
console.log(minNum);
- 计算平方根:
var sqrtValue = Math.sqrt(16); // 计算给定数的平方根
console.log(sqrtValue);
这些示例展现了如何应用 Math 对象进行数学计算。
依据具体的需要,能够联合不同的办法和属性来实现更简单的数学操作。