Задать вопрос
@slvn2

Как преобразовать локальную переменную в глобальную?

Здравствуйте. Скрипт парсит API ВКонтакта, всё работает, однако проблема в том, что я не могу из функции вытащить переменные, и сделать их глобальными. Вот например это - result.response[0]['first_name']), нужно сделать глобальной переменной

Только пожалуйста, не присылайте ссылки про замыкание, функции и т.д., перечитал уже 100 раз, ничего не помогает((( Просто помогите вывести result.response[0]['first_name']) вне функции в виде переменной.

var api= "https://api.vk.com/method/users.get?user_id=1&v=5.45&callback=callbackFunc";
var script= document.createElement('SCRIPT'); 
script.src= api; 
document.getElementsByTagName("head")[0].appendChild(script); 


function callbackFunc(result) { 
alert(result.response[0]['first_name']);
}
  • Вопрос задан
  • 960 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
window.globalnayaPeremennaya = ''

var api= "https://api.vk.com/method/users.get?user_id=1&v=5.45&callback=callbackFunc";
var script= document.createElement('SCRIPT'); 
script.src= api; 
document.getElementsByTagName("head")[0].appendChild(script); 


function callbackFunc(result) { 
  globalnayaPeremennaya = result.response[0]['first_name']
  alert(globalnayaPeremennaya);
}
Как-то так.

Но скорее всего, у вас проблема не только с глобальной переменной, а еще и с асинхронными запросами.
Ответ написан
digitalHitler
@digitalHitler
Meow.
Как правильно заметили оба предыдущих оратора, вам стоит понять асинхронность. Это в самом деле не сложно и — посмотрите правде в лицо уже в конце-то концов — проблема ваша только в этом.

Глобализировать переменную легко — достаточно объявить её либо в глобальном контексте (вне функции), либо как свойство объекта window (в случае браузерной среды) или global. Однако, проблема тут не в этом.

Первые ссылки из гугла:
javascript.ru/unsorted/async
ruseller.com/lessons.php?rub=28&id=1655
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽