Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите начинающей! (https://javascript.ru/forum/misc/61717-pomogite-nachinayushhejj.html)

masha_masha 04.03.2016 18:46

Помогите начинающей!
 
Всем привет! В мире javascript я совсем недавно. Около месяца пытаюсь его изучать. И попался момент, который для меня пока абсолютно непонятен. Может здесь что то с областью видимости?

код:
var jsonData;

$.getJSON("./data.json", function(json){
    jsonData = json;
});

console.log(jsonData);


в консоли выдает undefined. Помогите пожалуйста начинающей разобраться почему так.

рони 04.03.2016 19:11

masha_masha,
строка 7 выполняется раньше чем строка 4 ... время нужно чтоб сервер ответил

MallSerg 04.03.2016 19:15

$.getJSON( ... ) - Это вызов функции в твоем случае с двумя параметрами
первый параметр это url на который отправится запрос
второй это функция обратного вызова (callback) которая будет вызвана когда придет ответ на запрос.

В твоем примере сначала идет объявление переменной
затем идет вызов функции $.getJSON()
затем идет вызов функции console.log();
и только потом когда браузер получит ответ на запрос будет вызвана функция

function(json){
jsonData = json;
});

в которой переменная jsonData получит значение

masha_masha 09.03.2016 10:12

Спасибо большое! Разобралась.


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