読者です 読者をやめる 読者になる 読者になる

フロントサイドエンジニアという選択肢

HTMLコーダー → ECサイト運営 → システムエンジニア という経歴の著者がフロントサイトエンジニアという職業に今後の活路を見出し、その道に進むために取得した技術を貯めておくブログ

(Javascript)callとapplyの違い

関数内で他の関数を呼び出すことが出来ることでお馴染みのcallapplyメソッドですが、両者の違いを一応まとめておきます。

callとapplyは、渡す引数の種類で変わります。値を個別に羅列して送る場合はcall、配列にして送るのがapplyになります。

// 3つの引数を繋げて表示する関数
function call_concat(a, b, c)
{
    document.write(a + b + c + '<br />');
}

// 送られた引数を全て繋げて表示する関数
function apply_concat()
{
    var str = '';
    for(var i in arguments)
    {
        str += arguments[i];
    }
    document.write( str + '<br />');
}

// 呼び出しテスト
call_concat.call(this, 'callで', '関数を', '呼び出します');
apply_concat.apply(this, ['applyで', '関数を', '呼び出します']);