이 간단한 자바 스크립트 폐쇄 작업을하는 방법 :이 같은 친구에게 자바 스크립트 폐쇄을 설명했다
function outer() {
var count = 0;
return (function(){
count++;
console.log(count);
})();
}
내가 외부 함수가있을 때이 '계산'않는 방법 변수가 저장되는 것을 그에게 보여 주려했다 실행.
그래서 나는 자바 스크립트 콘솔에서이 일을 시도하고 콘솔에서이 작업을 수행 할 때 내가 무슨 이해하지outer(); // prints out 1
outer(); // calling again prints 2
outer(); // prints out 3
하지만 실제로이
outer(); // printed 1
outer(); // printed 1 again
outer(); // again 1
일어난 것을 그에게 보여주고 싶었다 여기 잘못왔다. 누군가 나를 인도 할 수 있습니까?
에 저장합니다. 'var myouter = outer(); myouter(); myouter(); myouter()' – elclanrs
처음으로 작동하는 @elclanrs. 그러나 그것을 다시'myouter();로 호출하면 "TypeError : undefined가 함수가 아닙니다" –
'outer'가 함수를 반환하지 않고'undefined'를 반환합니다. 함수를 반환하지만 실행하지 않으면 제대로 작동합니다. – elclanrs