arguments 객체
함수안에서 함수의 인자 정보를 담고 있는 객체. 유사 배열. (배열은 아님)
매개변수와 인자의 차이
function a(매개변수parameter){}
a(인자arguments);
function sum(){ // 매개변수가 없음.
var i, _sum = 0;
for(i = 0; i < arguments.length; i++){
// arguments에는 사용자가 전달한 인자가 들어간다.
// 즉, 인자의 갯수만큼 for문이 돈다.
document.write(i + " : " + arguments[i] + "<br>");
_sum += arguments[i]; // _sum = _sum + arguments[i]
}
return _sum;
}
document.write("result : " + sum(1,2,3,4));
결과 : 0 : 1 1 : 2 2 : 3 3 : 4 result : 10 |
매개변수와 인자의 갯수가 달라도 문제없음.
몇개의 인자가 들어올지 모를 때 매개변수를 지정하지 않음.
매개변수의 수
arguments.length 전달된 인자의 수를 의미
function zero(){ // 매개변수 없음
console.log(
"zero.length", zero.length,
"arguments", arguments.length
);
}
zero(); // 인자 없음
결과 : zero.length 0 arguments 0 |
function one(arg1){ // 매개변수 1개
console.log(
"one.length", one.length,
"arguements.", arguments.length
);
}
one("val1","var2") // 인자 2개
결과 : one.length 1 (함수가 정의한 매개변수의 숫자를 알려줌) arguments 2 (함수를 호출 할 때 몇개의 인자가 전달했는지 정보를 알려줌) |
매개변수와 인자가 다를 때 length 속성을 이용하여 경고창과 같은 알림을 만드 수 있음.
'UI개발' 카테고리의 다른 글
Object Model (0) | 2016.07.26 |
---|---|
자바스크립트 함수지향 - 함수의 호출 (0) | 2016.05.17 |
자바스크립트 함수지향 - 유효범위 (Scope) (0) | 2016.05.15 |
alt와 title (0) | 2016.05.05 |
미디어쿼리 (0) | 2016.05.05 |