这可能很简单,但它难倒我。我正在尝试将 javascript 中的变量返回到函数范围之外的另一个变量。由于某种原因,分配没有发生。这是我的代码:
var time = Math.round(((new Date()).getTime())/1000);
// first call to get data
var power_now = get_data(<%= @user.id %>, time);
function get_data(user_id, timestamp){
var targetURL = "get/user_data?time_now="+timestamp+"&user_id="+user_id;
var power = 0;
$.get(targetURL, function(data){
power = data[0]['power'];
alert(power);
})
return power;
}
$('body').html('<h1>'+power_now+','+power_then+'</h1>')
如果我将 alert(power) 放在 .get 函数中,则该值是正确的;但是,如果我将它放在 .get 函数之外,则值为 0。
也许我错过了一些关于 javascript 范围的东西?
谢谢!