JavaScript
[JavaScript] arguments.callee - 익명함수 재귀호출
힘없는염소
2017. 2. 2. 10:47
// 이름 없는 익명 함수가 자신을 참조 하는 변수가 없을 경우 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);
반응형