2013-12-21 2 views
0

한 함수에서 다른 함수로 변수를 전달하려고합니다. 나는 이것이 효과가있을 것이라고 생각했지만 정의되지 않았다.한 함수에서 다른 함수로 변수 전달

function launch(){ 
    amount(); 
    finalize(theAmount); 
} 

function amount(){ 
    var theAmount = prompt('How much?'); 
    return theAmount; 
} 

function finalize(theAmount){ 
    alert(theAmount); 
} 

launch(); 
+0

는 "theAmount는"스택 형제에 손실로이 점심 기능을 수정하려고합니다. 함수 밖에서 선언 할 수도 있습니다 (모범 사례는 아니지만 작동합니다). – unekwu

답변

4

다른 함수에서 정의한 변수에 액세스하려고합니다. 그게 Javascript's scope restrictions 때문에 불가능합니다. 반환 값을 그대로 전달하거나 변수에 값을 할당 한 다음 함수에 전달해야합니다.

중 하나입니다 점심 기능이

function launch(){ 
    finalize(amount()); 
} 

또는

function launch(){ 
    var theAmount = amount(); 
    finalize(theAmount); 
} 
0

당신이 전화하는 금액 함수는 값을 반환하지만 당신은 그것을받지 않았다.

function launch(){ 
    var theAmount = amount(); 
    finalize(theAmount); 
} 

function amount(){ 
    var theAmount = prompt('How much?'); 
    return theAmount; 
} 

function finalize(theAmount){ 
    alert(theAmount); 
} 

launch(); 
관련 문제