이것은 매우 간단 할 수 있지만 저를 뒤 흔드는 것입니다. 함수의 범위 밖에서 다른 변수에 javascript 변수를 반환하려면 노력하고있어. 웬일인지, 할당은 일어나지 않고있다. 내 코드는 다음과 같습니다.Jquery/JS 범위 지정
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>')
.get 함수 내에 경고 (전원)를 넣으면 값이 정확합니다. 그러나 .get 함수 외부에 배치하면 값은 0입니다.
어쩌면 자바 스크립트에서 범위 지정에 대해 뭔가 빠졌습니까?
감사합니다.
왜'@ user.id'를'get_data' 함수에 두 번 바인드합니까? 그리고 당신은'timestamp'를 지나치고 그것을 사용하지 않습니다. – Shmiddty
네 말이 맞아. 기능적으로 동일; 일부 코드를 리팩토링하여 전달 된 변수를 사용하는 것을 잊었습니다. 응답 수정. – jasdeepg