JavaScript|ファンクション、コールバック関数

パソコン

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(){命令文}, 時間);

コールバック関数で無名関数が良く使われる

コメント

タイトルとURLをコピーしました