일단 자바스크립트를 배울 때 좋은 점이라면,
괜찮은 구성의 사이트에서 쉽게 소스코드를 볼 수 있고 크롬에서 바로 써볼 수도 있다는 것.
이 사이트 저 사이트 뒤적 뒤적거리면서 다니다가.
구글 애널리스틱스 코드 실행 부분 모양이 대충..
(function() { // 코드 })();
?? 함수를 바로 실행하는 코드를 저렇게 쓰는구나..싶었다.
음.. 그럼 익명 함수에 이름을 붙이면 재사용이 되는지, 괄호에 의한 지역성으로 삭제되는지 테스트를 해봤다.
(function test(){ alert("hello?"); })(); test();
test는 정의되지 않았다고 에러메시지가 뜬다.
음.. 그럼 this를 리턴해서 따로 저장해야하나?
var f = (function test(){ alert("hello?"); return this; })(); f();
/_-)/ 맹 안된다.
this가 DOMWindow로 되어있다.. 아아..
test.this는? 이건 오류난다.
그냥 함수 이름인 test를 반환해 보았다.
var f = (function test(){ alert("hello?"); return test; })(); f();
오호.. 이건 된다. 그래서 f()()()()()();를 했더니 계속된다.
test 함수가 클로저가 된 셈인듯..?
결론은 함수 정의와 동시에 실행하면서 참조 할 수 있게 변수에 저장이 된다. 음 역시 쓰면 쓸수록 상큼해.
자바와는 또 다른 재미가 있다.
자바스크립트 공부 좀 제대로 해야겠다.
'머리가 뛰다' 카테고리의 다른 글
Phonegap create 오류 (0) | 2012.11.25 |
---|---|
구글느님 다 해쳐드세영.. ㅠㅠ (0) | 2012.11.06 |
iBatis Result Mapping... (0) | 2012.09.13 |
한글 2010 한영 자동 전환 해제하기 (0) | 2012.06.13 |
부분 집합 구하기 (0) | 2012.05.16 |