jsのsetInterval()でnot defined

ゾンビランドサガ7話、非常によかったですね。レーザービームのSEは何だったんだろう…

JavaScriptのsetInterval()が動かなかったのでメモ。

setInterval()

一定時間ごとに特定の関数を実行してくれるヤツ。

上記のクイックリファレンスのサンプルにも

<script>
var s = 0;
function countSecond() {
	s++;
	document.getElementById("sample1").innerHTML = s+"秒";
}
</script>
<div id="sample1">
<button onclick="setInterval('countSecond()',1000)">秒数カウントを開始</button>
</div>

となっている通り、

setInterval('関数名()', 時間);

で動きそうなものだが、<script>でHTML直書き→jsファイルに引っ越すと動かなかった

この辺の違いは仕様なのかバグなのかイマイチわからないが、

setInterval(関数名, 時間);

で解決。

参考→setInterval関数が、第一引数の関数を呼ばない【Javascript】