자바스크립트/클로저 (1) 썸네일형 리스트형 자바스크립트 클로저 예제 - 한 번만 호출할 수 있는 함수 function once(func) { // 여기에 func 변수가 있다고 의식해야 쉽다. let alreadyCalled = false; let result; // 이상의 func, alreadyCalled, result 변수는 // 아래의 add 변수에 클로저로 남는다. return function() { if(!alreadyCalled) { alreadyCalled = true; result = func.apply(null, arguments); // func 변수에 담긴 함수를 호출한다. } return result; } } let add = once(function(a, b) { return a + b; }); add(1, 2); // 3 add(3, 4); // 3 add(5, 6); // 3 이전 1 다음