私が作ったこのカウンターはありますが、永遠に実行したいです、本当に簡単です、ここで何が間違っていますか?
function timer() {
console.log("timer!")
}
window.setInterval(timer(), 1000)
SetIntervalの最初のパラメーターとして、関数参照の代わりに関数呼び出しを使用しました。次のようにします:
function timer() {
console.log("timer!");
}
window.setInterval(timer, 1000);
または短くなります(ただし、関数が大きくなると読みにくくなります):
window.setInterval( function() {
console.log("timer!");
}, 1000)
setInterval
およびsetTimeout
mustは次のようなコールバックで使用する必要があります。
_setInterval(timer, 1000);
_
または名前のない関数:
_setInterval( function() { console.log("timer!"); }, 1000 );
_
コードが機能しない理由-関数を引数として別の関数に引数として渡すときdoSomething ( someFunc() )
関数の結果を渡しています。
関数がオブジェクトとして渡されるときdoSomething ( someFunc )
コールバックを渡しています。この方法でsomeFunc
が参照として渡され、呼び出し関数のどこかで実行されます。これは、他の言語の関数へのポインターと同じです。
よくある間違いは、 w3schools に示されているように、これら2つの関数を使用することです。これにより、eval
が暗黙的に呼び出されます。