← 返回首页
配列コンテキストでの呼び出し
JA
私たちはこのオープンソースプロジェクトを世界中の人々に提供したいと考えています。このチュートリアルの内容をあなたが知っている言語に翻訳するのを手伝ってください。
    検索
    検索
    Light themeDark theme
    عربيDanskEnglishEspañolفارسیFrançaisIndonesiaItaliano日本語한국어РусскийTürkçeУкраїнськаOʻzbek简体中文
    レッスンに戻る

    配列コンテキストでの呼び出し

    重要性: 5

    結果は何でしょうか?それはなぜでしょう?

    let arr = ["a", "b"]; arr.push(function() { alert( this ); }) arr[2](); // ?
    解答

    呼び出し arr[2]() は、構文的には古き良き obj[method]() であり、arr が obj の役割を、2 が method の役割を持っています。

    従って、arr[2] の関数をオブジェクトメソッドとして呼び出します(訳注: arr[2] には function() { alert( this ); } が push されています)。当然のことながら、この関数はオブジェクト arr を参照している this を受け取るため、配列 arr を出力します。:

    let arr = ["a", "b"]; arr.push(function() { alert( this ); }) arr[2](); // "a","b",function

    配列は 3つの値をもっています: 初期に2つを持っているのに加えて、関数です。