定时器执行次数过多

时间:2016-02-25 01:28:53

标签: javascript

我遇到setInterval的问题。无论我为间隔提供什么值,它都以相同的速度登录到控制台。

以下是我正在使用的代码:

var runButton = document.getElementById('run-button');

runButton.addEventListener('click', doWork, false);

function doWork ()
{
  var timer = calcbpMs;
  setInterval(function(){ console.log("Hello"); }, timer);
}

function calcbpMs ()
{
  var bpm = document.getElementById('bpm');
  var bpMs = (60000/bpm.value);
  return bpMs;
}
<label for="bpm">BPM</label>
<input type="text" id="bpm" placeholder="Enter BPM"/>
<button id="run-button">Start</button>

1 个答案:

答案 0 :(得分:2)

var timer = calcbpMs;

这不是你在Javascript中调用函数的方式。尝试

var timer = calcbpMs();

你最终得到的是对函数本身的引用(当用作数字时可能被视为“0”)。