Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Контекст работы функции. (https://javascript.ru/forum/misc/41063-kontekst-raboty-funkcii.html)

naitek 30.08.2013 09:18

Контекст работы функции.
 
Нашел вот такой интересный код.
var i = 0;

function main(callback)
{
    var i = 10;
    callback();
}

main(function ()
{
    alert(i);
});


Не могу понять, почему выводится 0. Ведь callback который мы передаем main вызывается в контексте main, значение i в этом контексте равно 10, почему значение i берется из глобального контекста? Второй день ломаю голову не могу понять.

tsigel 30.08.2013 09:27

Контекст функции берется не от того где она вызывается, а от того где она объявляется.


Часовой пояс GMT +3, время: 09:38.