我在 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));
}
有人可以解释一下为什么代码的第二部分不起作用以及是否可以修复?
谢谢!