var kyrs; // объявляем переменную вне функции
// Функция, которая принимает данные и обрабатывает их
function processCurrencyData(data) {
kyrs = Math.ceil(100 / data.Valute.KZT.Value * data.Valute.EUR.Value).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 ');
$('#euro').html(kyrs);
// Теперь переменная kyrs доступна и за пределами функции обратного вызова
console.log("Курс: " + kyrs);
}
// Выполняем запрос и передаем функцию обратного вызова
$.getJSON("https://www.cbr-xml-daily.ru/daily_json.js", processCurrencyData);
// Здесь код выполняется сразу после отправки запроса, но не ждет его завершения
// Поэтому переменная kyrs здесь может быть неопределенной
// console.log("Курс: " + kyrs);
var kyrs; // объявляем переменную вне функции
$.getJSON("https://www.cbr-xml-daily.ru/daily_json.js", function(data) {
kyrs = Math.ceil(100 / data.Valute.KZT.Value * data.Valute.EUR.Value).toString().replace(/(\d)(?=(\d{3})+$)/g, '$1 ');
$('#euro').html(kyrs);
// Теперь переменная kyrs доступна и за пределами функции обратного вызова
console.log("Курс: " + kyrs);
});