// Array를 인자로 받아서 순환출력하는 함수
클로저 연습코드. 외부함수에 스코프가 생기고 값이 유지되는것이 인상깊었음.
/* Array를 인자로 받아서 순환출력하는 함수 */
function printArrayCircle(array){
if(!array)return function(){}
if(!array.hasOwnProperty("length")) return function(){}
var nowIndex,endOfIndex;
nowIndex = 0;
endIndex = array.length - 1;
return function(){
console.log(array[nowIndex]);
(nowIndex < endIndex) ? nowIndex++ : nowIndex = 0;
}
}
/* 테스트 */
test = printArrayCircle([1, 2, 3]);
test(); // 1
test(); // 2
test(); // 3
// 최초에 받은 인자를 하나씩 증가하는 함수
function idMaker(start){
start = start || 0
return function(){
return ++start;
}
}
var msgcid = idMaker();
msgcid(); //0
msgcid(); //1
msgcid(); //2
msgcid(); //3
msgcid(); //4
'Today I learned' 카테고리의 다른 글
[OAuth2] 권한 부여 종류 (0) | 2020.06.19 |
---|---|
[OAuth2] 기본개념 복습(용어정리) (0) | 2020.06.19 |
Real World HTTP (0) | 2020.06.15 |
[js]헷갈리는 문법 정리 (0) | 2020.06.15 |
[마케팅 솔루션]GA 개발 관련 문서 정리 (2) (0) | 2020.05.25 |
댓글