尝试使用JS随机函数或其他东西

时间:2016-05-24 00:43:10

标签: javascript

我有这段代码:

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)];
            }

        }

每次按下按钮,我都会得到无穷无尽的结果,你能帮助我吗?

1 个答案:

答案 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>