Необычное поведение javascript

165
26 декабря 2017, 18:55

Добрый день! У меня есть массив который загружается с базы данных. Если после загрузки массива отобразить его в консоль, то он без проблем отобразится. console.log(arr) Но, если вывести его первый элемент console.log(arr[0]), то в консоли отобразится undefined . Я попробовал этот элемент вывести через 3 секунды после загрузки страницы. setTimeout('console.log(arr[0])', 3000). Все без проблем сработало. Можете пожалуйста объяснить это явление.

Вот код:

var root = 'https://jsonplaceholder.typicode.com'; 
var arr = []; 
$.ajax({ 
  url: root + '/posts', 
  method: 'GET' 
}).then(function(data) { 
  arr.push(data[0]); 
}); 
function func() { 
	console.log(arr[0]) 
} 
setTimeout(func, 1000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

READ ALSO
Выводить элементы на одной карте

Выводить элементы на одной карте

В данном примере все работает хорошо, но строится новая картаНужно чтобы пункты выводились на одной карте, а не создавалась новая

190
Формат вывода даты 01-01-2018

Формат вывода даты 01-01-2018

Есть функция, которая выводит дату через определенное кол-во дней:

215
Бегущая строка при скролле

Бегущая строка при скролле

Друзья, всем привет! как сделать вот такую бегущую строку при скролле? То есть, строка должна полностью прокрутиться до конца сайтаСмотреть...

213