javaScript 프로그램을 만들다 보면 이벤트 콜백 함수에 다른 함수를 넣어야 하는 경우도 생기게 된다.
여러개의 Object에 다른 parameter를 넘기는 Callback Function을 넣었는데, 제일 마지막에 넣은 Callback Function만 호출되는 경우가 생기기도 한다.
그 때 사용할 수 있는 방법을 저장하기로 한다.
var fncMap={}; // 동적 함수가 저장될 곳. function init(){ makeCallBackFnc('1', 'p'); // 함수를 만든다. makeCallBackFnc('2', 'pp'); // 위에서 만든 함수와는 다른 함수가 생성 fncMap['1'](); // 1번째 함수 호출 fncMap['2'](); // 2번째 함수 호출 } // fncMap에 key, function 으로 동적으로 함수가 저장된다. function makeCallBackFnc(name, param){ return fncMap[name]=function(){ alert('name = '+name+', param = '+param); } } init();
fncMap에 전역적으로 콜백 함수들을 관리할 수 있고 해당 name으로 검색해서 호출할 수 있기 때문에 위에서 말한 마지막 Callback Function만 호출되는 불상사를 해결 할 수 있다.
'JavaScript' 카테고리의 다른 글
자바스크립트 모듈 패턴 (12) | 2013.10.02 |
---|---|
console log 찍기. (0) | 2013.07.26 |
javaScript : uniqueId 만들기. (0) | 2013.07.26 |
[tipJS] tipJS를 이용한 테스트- 웹앱 복불복 게임. 다운 받아서 실행해보세요. (55) | 2013.05.31 |
16진수인지 알아보기. isHex (0) | 2013.05.16 |
댓글