javascript 의 function 을 사용하다 보면, 파라미터에 대해서 arguments 배열에 접근하여 사용하는 경우가 있다.
이를 통해 유동적인 파라미터를 제어하거나, 기존에 제공되는 api 를 커스터마이징도 할 수 있게 된다.
예시 1) string fomat <= 클릭
예시 2) setTimeout 커스터마이징 <= 클릭
function argLength(one, two){
console.log("argLength.length : " + argLength.length);
console.log("arguments.length : " + arguments.length);
}
argLength(1,2,3,4);
위 예제의 결과는
argLength.length : 2
arguments.length : 4
가 나오게 된다.
argLength 라는 function 은 선언되면서 가지게되는 몇가지 멤버변수가 있는데, 그중에 length 부분에는 선언시 정의된 파라미터의 개수가 바인딩된다.
function 호출시에 파라미터는 function 에서 선언된 파라미터에 arguments 값이 순서대로 맵핑되고, 파라미터가 더 적은 경우에는 undefined 를 가지게 되며, 선언파라미터 많은 경우에는 arguments 배열을 통해 접근이 가능하게 된다.
* 호출
argLength(1);
* 결과
argLength.length : 2
arguments.length : 1
이와 같이 호출시에는 argLength 의 two 값은 undefined 가 되게 된다.
* 실행 테스트 function
var argLength = function(one,two){
//... 중략
}
으로 선언된 function 이 있다.
아래에서 파라미터를 변경하여 실행하면(ex> argLength("홍길동","무인도","정류소") ),
one, two 의 값과 argLength.length , arguments.length 를 확인할 수 있다.
실행테스트 |
결과 |
|
|
이상~
'IT > javascript' 카테고리의 다른 글
String fommat 2 (0) | 2015.08.03 |
---|---|
javascript 에서 string.format 사용 (0) | 2014.11.24 |
yuicommpressor (js /css 압축) (0) | 2014.11.24 |
setTimeout , setInterval , clearTimeout , clearInterval 사용 (0) | 2014.11.22 |
setTimeout 에 파라미터를 넘기는 법 (0) | 2014.11.22 |