이 코드가 작동하는 이유는 무엇입니까? - http://jsfiddle.net/Mq9Ap/1/이 함수가 호출되는 이유는 무엇입니까?
$(function() {
function outer() {
var counter = 0;
function inner() {
alert(counter);
counter++;
}
return inner;
}
var x = outer(); // As we're calling outer here, x is a reference to inner
x(); // alerts 0
x(); // alerts 1
});
그러나 return inner
편집
return inner()
에 내가 변경 한 경우에만 한 번 실행 : 내가 괄호를 언급하여 내 질문의 의도를 혼동 한
. x()가 외부 함수를 가리키는 것처럼 내부 함수가 모두 호출되는 방법은 여전히 혼란 스럽습니다.
반환 값이 함수에 대한 포인터 인 경우 컴파일러에서 함수를 호출해야한다는 것을 알고 있습니까?
답변 해 주셔서 감사합니다. 나는 내 자신의 질문에 대답하려고 할 때 내 논리를 확인하는 것을 느낄 수 있는지 친절하게 물어볼지도 모른다 https://stackoverflow.com/a/23122932/1837472. 나는 귀하의 의견을 감사드립니다. – Data
예, 귀하의 논리에 대한 권리입니다. –