// 이름 없는 익명 함수가 자신을 참조 하는 변수가 없을 경우 arguments.callee에 의해 함수가 자신을 참조할수 있다.// ES5 "use strict" 엄격모드에선 실행되지 않는다.// 다음은 0부터 n까지의 합을 구하는 재귀 함수이다.(function(num){console.log(num);if (num === 0) {return num;}else {return num + arguments.callee(num-1); // 익명함수 재귀호출}})(5);
// setTimeout에서 익명함수 재귀호출var arr = [1, 2, 3, 4, 5, 6];var copy = arr.slice(); // 배열 복사setTimeout(function() {console.log(copy);var el = copy.shift(); // 복사한 배열에서 요소 하나를 가져온다.console.log(el);// 배열에 남은 요소가 있다면..if(copy.length > 0) {arguments.callee(); // 익명함수 재귀호출} else {// 완료 작업}}, 20);
반응형
'JavaScript' 카테고리의 다른 글
[JavaScript] 매개변수가 있지만 없어도 동작하도록 해라 (0) | 2017.03.06 |
---|---|
[JavaScript] 문자열 두칸이상 공백 제거 (0) | 2017.02.28 |
[JavaScript] 커링 currying (0) | 2017.01.12 |
[JavaScript] 메모이제이션 memoization (0) | 2017.01.12 |
[JavaScript] 자바스크립트 형변환 String, Number, boolean (0) | 2016.12.19 |