我有这段代码:
function btn() {
var words = ['A','B','C','D'],
div = document.getElementById('foo');
for(i = 0; i < 10; i++) {
div.innerHTML += ' ' + words[Math.floor(Math.random() * words.length)];
}
}
每次按下按钮,我都会得到无穷无尽的结果,你能帮助我吗?
答案 0 :(得分:3)
我不确定你的麻烦是什么。我从你的例子中创建了一个片段并运行它...我在控制台中得到相当随机的输出。
现在,我确实修改了你的函数,因此它返回一个值而不是更新HTML。将逻辑(随机生成)与表示(将其显示给用户)分离使得测试代码更加更容易。
function btn() {
var words = ['A', 'B', 'C', 'D'];
var result = "";
for (var i = 0; i < 10; i++) {
result += ' ' + words[Math.floor(Math.random() * words.length)];
}
console.log('result = ', result);
return result;
}
document.getElementById("generate").addEventListener("click", function() {
document.getElementById("result").innerHTML = btn();
});
The random output is here: <div id="result"></div>
<button id="generate" type="button">Click to generate a new random string</button>