javascript 팁이 있는 곳입니다.
  • 웹미니 한줄 전광판 영역 입니다.
글 수 109

0

조회 수 : 6597 신고 : 0

작성자 : 이병준
포인트 : 0 | 레벨 : 0
미리보기 :  
오랜만에 자바스크립트를 골때리게 하는 팁을 내놨습니다.
음.. 일단 먼저, 전 대통령의 서거를 애도합니다.
근데 문제는.. IT대통령이 역사속으로 사라졌으니 이제 대한민국 IT의 미래가 걱정되는군요.

어쨌든, 그런 의미에서 골때리는 자바스크립트를 통해 더욱 더 멋진 프로그램을 만들어야죠.

자, 아래 함수를 보세요.

somemethod()()()()()()();

.............................................................................??????????????????????????

자.. 처음부터 골때리죠? 하지만 이게 불가능할거라 생각하시면 뭐.. 그만 보고 나가도 좋습니다.
근데.. 가능합니다. 아니 대체 어떻게?
간단합니다. 음.. 어렵게 생각하실 필요는 없어요. 아래와 똑같으니까요.

somemethod();
somemethod();
somemethod();
somemethod();
somemethod();
somemethod();

음.. 똑같은 이름만 쓰는건 귀찮죠. 물론 컨트롤 씨브이 하면 되지만.. 용량 좀먹죠.
그래서 간단하게 괄호만 원하는 실행갯수만큼 주르르.

물론 재귀 함수는 맞습니다. 근데 재귀의 의미가 약간 벗어난다 싶지만
제가 워낙 삼천포를 가고 싶었거든요. 일단 소스는 다음과 같습니다.

function somemethod(){
  window.status+=".";
  return somemethod;
}

자. 보시면 함수 이름과 자기 자신을 리턴하는 모습입니다.
네. 자기 자신을 뱉어서 또 쓸 수 있게 되는거죠.
그렇게 되면 리턴값은 자신이 되는거고, 그리고 다시 불러올 수가 있죠.
이점이 뭐가 있냐면.. 일단 일반적인 재귀 함수를 봅시다.

var i=6;
function myfunc(){
  if(i>0){
    i--;
    myfunc();
  }
}

어째보면 이게 더 간단해 보이지만.. 왜 굳이 맨 위에방식을 쓰는겁니까.

글쎄요.. 저도 확연히 잡지를 않았지만 MVC 패턴에는.. 딱히 뭐라하기 그렇고..
그렇다고 눈에 확 띄는 코드라니 괄호만 도배하면 괄호세느라 뼈빠질테고..

결론은 그냥 이렇게 쓸 수 있구나 알아두세요.

차라리 재귀함수 쓸려면 이게 낫죠.

function myfunc(i){
  if(i<0){
    myfunc(i--);
  }
}

그래도 이게 그나마 숫자를 쓰니 보기도 쉽죠.

그래도.. 재밌게 코딩하는것도 남다른 자바스크립트의 재미가 아닐까요?

음.. 갑자기 분위기가 싸해졌군요. 자시 분위기 띄어보는 차원에서 골때리는 문제 하나 드리죠.

a=0;
function p(){
  (function(){this.a='b';a='c';})();
  var a='d';
  this.a='e';
  (function(){var a=this;(function(){a='f'})();})();
}
p();

변수 a에 담길 값은 무엇일까요?

직접 머리로 디버그한번 해보세요. 다음에는 이 문제를 두고 다룰까 생각중입니다.
팁이 좀 짧군요. 제가 지금 슬럼프라 뭐라할말이 없지만..
다음 팁은 더욱더 무엇보다도 골때리도록 노력해보겠습니다.

License:Public Domain
소중한 댓글 부탁드립니다.
추천수 10단위당 메달이 1개씩 노출되고, 추천수에 따라 배경색이 변하며, 일정수의 추천수를 받을시 BEST 아이콘이 붙게됩니다.
추천수에 따른 배경색 보기 본문으로 바로가기
  • 추천수 50개이상
  • 추천수 30개이상
  • 추천수 20개이상
  • 추천수 10개이상
  • 추천수 3개이상
닫기

첫번째 댓글을 남겨주세요!

List of Articles
번호 제목 글쓴이 날짜 추천 수 조회 수sort
109 hit 여러 방법의 팝업창 소스 [6] title: [ani]깜빡이는 표정빽짱구 2008-02-27 4 66895
108 hit 깔끔한 공지창 title: [ani]깜빡이는 표정빽짱구 2006-03-06 2 50518
107 hit 마우스 오버시 레이어창 뜨기 (파폭.익스지원) title: [ani]깜빡이는 표정빽짱구 2007-11-06   19805
106 hit 콘텐트의 높이에 따라 자동으로 Resizing 되는 Iframe 만들기. [1] title: [ani]깜빡이는 표정빽짱구 2007-12-14   19352
105 hit [Javascript]버튼클릭시 레이어창 띄우기 file [4] title: [ani]깜빡이는 표정빽짱구 2008-11-13 1 18717
104 hit 버튼클릭시 레이어창 띄우기 [1] title: [ani]깜빡이는 표정빽짱구 2008-06-19 1 16561
103 hit 마우스오버시 롤링되는배너 (파폭지원) [1] title: [ani]깜빡이는 표정빽짱구 2008-07-01   16229
102 hit (파폭,익스,오페라) 즐겨찾기추가하기 title: [ani]깜빡이는 표정빽짱구 2008-04-15   15648
101 hit 탭메뉴 소스 title: [ani]깜빡이는 표정빽짱구 2006-03-09 14 15212
100 hit best of best 이미지가 서서히 변하는 롤오버 효과 title: [ani]깜빡이는 표정빽짱구 2006-08-30 32 14362
99 hit 페이지내의 단어검색하기 (파폭지원) title: [ani]깜빡이는 표정빽짱구 2008-06-23   13616
98 hit 클릭시 시작페이지로 설정하기 title: [ani]깜빡이는 표정빽짱구 2006-03-28 7 12989
97 hit best of best 따라다니는 톱버튼 (파이어폭스,익스지원) title: [ani]깜빡이는 표정빽짱구 2006-03-30 29 12901
96 hit best of best 아이프레임 크기 자동조절 [1] title: [ani]깜빡이는 표정빽짱구 2006-05-02 28 12024
95 hit 원하는 부분 프린트 하기 [1] title: [ani]깜빡이는 표정빽짱구 2008-01-21   11742
94 hit 팝업창 관련 속성들 title: [ani]깜빡이는 표정빽짱구 2006-02-07 7 11461
93 hit 모바일페이지에서 주소창 자동숨김 title: [ani]깜빡이는 표정빽짱구 2011-01-19   11334
92 hit 팝업 띄우기 (SP2에서도) title: [ani]깜빡이는 표정빽짱구 2005-03-08 9 11288
91 hit best of best 자동으로 년도,월,일,요일,시간 나오게 하기 title: [ani]깜빡이는 표정빽짱구 2006-03-28 22 10948
90 hit 새창 띄우는 스크립트 [2] title: [ani]깜빡이는 표정빽짱구 2005-08-23 13 10520