2013-09-03 2 views
-5

JavaScript의 반환 값은 무엇입니까? 리턴 함수를 사용하면 어떤 이점이 있습니까?JavaScript의 반환은 무엇입니까?

var number = function (ok){ 
confirm(8 * ok); 
} 
number(2); 

__ _ __ _ __ _ __ _ __ _ __ _ ____ ...

- 나는 또한이 작업을 수행하여 16를 얻을 수 있습니다

그래서 리턴 함수를 사용하면 어떤 이점이 있습니까? BTW, 예에 사용 돌아갑니다

var timesTwo = function(number) { 
return number * 2; 
}; 

var newNumber = timesTwo (8); 
confirm(newNumber); 

: ----

var timesTwo = function(number) { 
return number * 2; 
}; 

var newNumber = timesTwo (8); 

if (newNumber === 16){ 
confirm("success"); 
} 

else{ 
confirm("failure"); 
} 

내가 맞죠>? 왜냐하면 나는 함수 만이 If-Else 나 다른 코드에 사용될 수 없다고 생각하기 때문에 사용 된 리턴은?

답변

2

return은 함수가 호출자에게 값을 반환 할 수 있도록 사용됩니다. return이 이와 같이 사용되지 않으면 프로그래머는 전역 변수를 사용하여 함수의 계산 된 값을 호출자에게 전달해야합니다. 이는 잘못된 것입니다. 또한 return은 기능이 아닙니다.

나는이 당신에 대해 return의 공기를 지 웁니다 바랍니다.

이제 예를 들어 보겠습니다. 당신은 서면으로 작성했습니다 - 첫 번째 줄에서

var number = function (ok){ 
    confirm(8 * ok); 
} 

number(2); 

, 당신은 익명의 함수를 선언하고, 당신이 number 변수에 대한 참조를 할당한다. 어떤 변수가 함수에 대한 참조를 보유하고 있으면 변수 뒤에 두 개의 첫 번째 대괄호를 배치하여 함수를 호출 할 수 있습니다. 그게 마지막 줄에서하고있는 일입니다. 두번째 예를 소개

-

var timesTwo = function(number) { 
    return number * 2; 
}; 

var newNumber = timesTwo (8); 
confirm(newNumber); 

여기서 다시 명명 함수를 생성하고 그 레퍼런스 timesTwo에 저장된다. 이제이 함수는 결과를 반환하므로 8로 호출하면 계산 된 값 16이 함수에서 반환되고 newNumber에 할당됩니다. 다음과 같이 또한 그것을 다시 할 수

var timesTwo = function(number) { 
    return number * 2; 
}; 

var newNumber = timesTwo (8); 

if (newNumber === 16) { 
    confirm("success"); 
} 
else { 
    confirm("failure"); 
} 

- -

var timesTwo = function(number) { 
    return number * 2; 
}; 

if (timesTwo(8) === 16) { 
    confirm("success"); 
} 
else { 
    confirm("failure"); 
} 

을 여기에, 오히려 newNumber에 반환 값을 저장하고 그 값을 확인하는 것보다, 직접 호출하는 마지막 소개

이 함수는 반환 된 값이 16으로 확인됩니다. 이것은 return이 제공하는 또 다른 이점입니다. 함수의 반환 값은 변수에 먼저 저장하지 않고 상태 검사에 직접 사용할 수 있습니다.

관련 문제