重複の可能性:
setInterval() は関数を 1 回だけ実行する
関数コンテキストの概念を理解するために、次のスクリプトを使用しています。20時以降に開始して繰り返すアラートを除いています。しかし、20 を表示した後はかなり進みます。call メソッドを使用して o2 を指定すると、値 20 が取得され、それ以降が繰り返されます。
<script type="text/javascript">
var o2 = {
local: 20
}
var local=0;
function someFuncObject(){
alert('Thats method object again ' + this.local++);
}
// window.setInterval(someFuncObject, 2000); //This works perfect!!!
window.setInterval(someFuncObject.call(o2), 2000); // This does not, why?
</script>
一方、使用するwindow.setInterval(someFuncObject, 2000);
と問題なく動作し、何度も繰り返します。どうしたの?