자바스크립트 소스 해석점요~~~ 정보
자바스크립트 소스 해석점요~~~
본문
어떻게 이엏게 나왔는지 이해가 안되는데 설명좀 부탁드려요..ㅠ
<script>
function outerFunc(base) {
var punc = "!";
//안쪽함수
function returnString(ext) {
return base + ext + punc;
}
return returnString;
}
//안쪽함수로의 접근을 생성한다.
var baseString = outerFunc("Hello");
//안쪽함수는 여전히 바깥쪽 함수 인자에 접근할 수 있다.
var newString = baseString("World");
document.writeln(newString);
</script>
결과화면
---------------
HelloWorld!
---------------
<script>
function outerFunc(base) {
var punc = "!";
//안쪽함수
function returnString(ext) {
return base + ext + punc;
}
return returnString;
}
//안쪽함수로의 접근을 생성한다.
var baseString = outerFunc("Hello");
//안쪽함수는 여전히 바깥쪽 함수 인자에 접근할 수 있다.
var newString = baseString("World");
document.writeln(newString);
</script>
결과화면
---------------
HelloWorld!
---------------
추천
0
0
댓글 4개
var baseString = outerFunc("Hello");
baseString 변수는 outerFunc 함수의 인자와 return 함수를 상속받았네요.
그러면 baseString 변수는 함수로 변환되었는데요 다시
var newString = baseString("World");
위 부분은 outerFunc 함수의 return 함수를 사용하게 됨니다.
document.writeln(newString);
그래서 결과적으로 Hello World! 를 출력하게 되는것이구요.
설명이 미숙하다면 다음분께서... ↓
baseString 변수는 outerFunc 함수의 인자와 return 함수를 상속받았네요.
그러면 baseString 변수는 함수로 변환되었는데요 다시
var newString = baseString("World");
위 부분은 outerFunc 함수의 return 함수를 사용하게 됨니다.
document.writeln(newString);
그래서 결과적으로 Hello World! 를 출력하게 되는것이구요.
설명이 미숙하다면 다음분께서... ↓

구글에서 javascript 클로저 로 검색 하면 원하는 정보를 얻으실수 있습니다.
개인적으로 자바스크립트에서 가장 직관적이지 못한(저 개인적인 주관) 개념입니다.
책을 볼때는 아하 그렇구나 하다가도, 다시 보면 이해가 안간다는 -_-
개인적으로 자바스크립트에서 가장 직관적이지 못한(저 개인적인 주관) 개념입니다.
책을 볼때는 아하 그렇구나 하다가도, 다시 보면 이해가 안간다는 -_-
어렵다..

소중한 답글 감사합니다~^^