【发布时间】:2021-09-29 10:16:02
【问题描述】:
所以,基本上,我试图在单击按钮时生成密码。该程序生成一次密码,但是当我再次单击它时,由于未生成新的随机数,该程序不会提供新密码。 这是代码:
let password = ["NyiNE7!38vs","SyiMA4*78dt","SuoSO6]40db","LeaDU9'11ln","QooGU9!09nk","SeuXI1_63sp","SieKY6)07zk","GaaDI9'30gn","BoyLY4|74ct","BuaZI0+69vl"]
function Random() {
let i = Math.floor(Math.random() * 9)
}
i = Math.floor(Math.random() * 9)
const div = document.getElementById('password')
const button = document.getElementById('generate')
button.addEventListener('click' , generatePassword , Random)
function generatePassword(){
div.innerHTML = password[i]
}
【问题讨论】:
-
generatePassword 函数仅根据您的密码列表和 i 更新 div。 i 是在函数之外生成的。
-
从技术上讲,您的代码并不是一个生成器。而是选择随机密码。如果超过十个用户使用它,他们可能会共享相同的密码。相反,您可以生成更大的数字并将它们编码为 ASCII(65 为 A,66 为 B,等等)。然后,您可以对密码中的任意多个字符重复该算法。
标签: javascript button random onclick click