← 返回首页
Calling in an array context
EN

We want to make this open-source project available for people all around the world.

Help to translate the content of this tutorial to your language!

    Search
    Search
    Light themeDark theme
    عربيDanskEnglishEspañolفارسیFrançaisIndonesiaItaliano日本語한국어РусскийTürkçeУкраїнськаOʻzbek简体中文
    back to the lesson

    Calling in an array context

    importance: 5

    What is the result? Why?

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

    The call arr[2]() is syntactically the good old obj[method](), in the role of obj we have arr, and in the role of method we have 2.

    So we have a call of the function arr[2] as an object method. Naturally, it receives this referencing the object arr and outputs the array:

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

    The array has 3 values: initially it had two, plus the function.