JavaScriptに手を付け始めて、分からなくなった。
<script>
document.getElementById('start_stop').addEventListener('click', function () {
var start = new Date();
setInterval(goTimer, 10);
});
var goTimer = function () {
var now = new Date();
document.getElementById('timer').innerHTML = now.getTime();
}
</script>
setIntervalの引数に変数がある、しかし引数よりも後に宣言されている。
先に変数に、関数を入れるのではないのだろうか。
実際は、クリックされる前に、関数は宣言されているので問題ないという事だろうか。
色々しらべて、違うことが分かった。
まず、用語を整理する
メソッド 処理を定義したもの
関数 入力を受け結果を返す処理を行ってくれるもの。あらかじめ用意されている。
関数とメソッドは処理をする物の意味で同じいみで使われる。
コールバック関数 引数に渡す関数
ファンクション 自分で関数を定義する
関数で補えない物を自分で作る。
無名関数
一時的に使う関数で、名前を付けない関数
ややこしいが、今回のコードで使われている、
自分が疑問に思った部位がそれにあたる。
通常のファンクション
function 名前(){処理・・・・}
名前を付けずに、変数に直接入れる
var hoge = founction(){処理}
違う書き方で、関数定義を直接書く場合
setInterval(function(){命令文}, 時間);
コールバック関数で無名関数が良く使われる
コメント