Я написал две дополнительные функции в javascript для получения обменных курсов (на основе найденного кода here), но я не могу понять, почему это не может быть только в одной функции. Это код, который работает:Как упростить, как получить обменные курсы в javascript?
var money;
function showRate() {
getRate('EUR','USD');
alert(money);
}
function getRate(from, to) {
var script = document.createElement('script');
script.setAttribute('src', "http://rate-exchange.appspot.com/currency?from="+from+"&to="+to+"&format=json&callback=sendRate");
document.body.appendChild(script);
}
function sendRate(data) {
money = parseFloat(data.rate, 10);
}
Код является модификацией источника, Я понимаю код, но не линия document.body.appendChild(script);
.
Но мой вопрос: почему я должен выполнять две функции разделения (getRate
и sendRate
)? Я пробовал много вещей, но что-то подобное, что не работает:
function showRate() {
alert(getAndSendRate('EUR','USD'));
}
function getAndSendRate(from, to) {
var script = document.createElement('script');
script.setAttribute('src', "http://rate-exchange.appspot.com/currency?from="+from+"&to="+to+"&format=json");
return(parseFloat(document.body.appendChild(script).data.rate, 10));
}
Может кто-нибудь объяснить мне, почему вторая часть кода не работает, и если она может быть исправлена?
Спасибо!
Спасибо за ваш ответ, теперь я знаю, почему это невозможно. –