저는 최근에 자바 스크립트에서 함수 표현식과 선언문을 읽었으며 이에 대한 많은 온라인 기사를 참조했습니다. 나는 또한 SO에 관한이 주제에 관한 토론을 많이 보았다. 학습 과정에서 나는 분명히 설명 할 수없는 도전 과제를 스스로에게 맡겼다. 여기에서 약간의 통찰력을 얻을 수 있도록 SO 전문가에게 친절하게 요청할 수 있습니까? 여기 자바 스크립트 함수 표현식 사용 사례
이 문제 시나리오 -시나리오 1 :이 시나리오를 이해
>var multFunc=function(n){var a=2; return n*a;}
>multFunc(6)
12
내가 (12)를 기대하고 있었다 어떤 결과입니다.
시나리오 2 :
>var multFunc1=function(n){return function(n){n*2}}
>multFunc1(6)
function (n){n*2}
나는 두 번째 경우를 이해하지 못했다. 왜 12를 돌려주지 않을까요? 누군가 이해해 주실 수 있습니까? , Javascript Function Expressions이 링크 JavaScript Nested function 을하고 나 또한 어제 비슷한 질문을했지만 나는 (TJ로 우아하게 설명 된 바와 같이) 나는 완전히 개념을 파악하지 않은 추측 - - 나는이 링크를 체크 한 Trying a closure the wrong way?
'multFunc1'은 함수를 반환하므로'12'를 얻기 위해서는'multFunc1() (6)'을해야합니다. – 4castle
@ 4castle이 말한 것에 더하여,'multFunc1'에 전달 된 인수는 사용되지 않고 * 표시된 내부 함수는 항상'undefined' *를 반환합니다 ('return' 문이 없기 때문에). – nnnnnn
@ 4castle .. multFunc1() (6) 호출은 실제로 undefined를 반환합니다. 나는 실제로 그것을 이미 시도했다. –