2013-09-10 3 views
0

Представьте, что вы выполняете следующее внутри функции javascript, называемой Fetch.Переменная Область внутри обещания jquery

function Fetch(context) 
{ 
    var request = $.ajax({...}); 
    request.done(function(response) 
    { 
    // it looks like context is visible here and in Scope. 
    // 
    }); 

}

Можете ли вы объяснить, почему контекст виден внутри функции обратного вызова.?

+2

контекст виден всем, что находится внутри метода Fetch. –

+0

Потому что он объявлен в родительской части вашей функции. Любые vars, объявленные в функции Fetch, будут доступны для любых функций, используемых в нем. – Vlad

+6

Потому что так работают замыкания. Каждая функция имеет доступ к переменным, определенным в том же или в более широком диапазоне. –

ответ

1

context является местным по отношению к Fetch. request заявлен внутри Fetch, поэтому context доступен внутри request

Смежные вопросы