[JavaScript] arguments, applyLanguage/JavaScript2021. 10. 9. 19:13
Table of Contents
arguments
변수에 담긴 숨겨진 유사 배열
1
2
3
4
5
6
7
8
9
|
function sum(){
var i, _sum = 0;
for(i = 0; i < arguments.length; i++){
document.write(i+' : '+arguments[i]+'<br />');
_sum += arguments[i];
}
return _sum;
}
document.write('result : ' + sum(1,2,3,4));
|
cs |
인자로 들어온 1 ~ 4 까지를 배열과 같이 인식을 하여 위와 같은 코드가 실행하게 된다.
arguments 를 통해서 유입된 인자의 갯수를 확인할 수 있다.
들어온 인자를 통해서 값을 알수도 있고, 접근을 하여 값을 변경할 수도 있다.
위와 같은 경우 arguments[2] = 10; 과 같이 변경이 가능
arguments 객체
fuction.length (함수명.length)
함수가 받아야 하는 인자의 갯수(길이)를 확인할 수 있는 것
apply
1
|
func.apply(thisArg, [argsArray])
|
cs |
기본적인 형태는 위와 같아서 아래 코드처럼 쓰인다.
1
2
|
var numbers = [5, 6, 2, 3, 7];
var max = Math.max.apply(null, numbers);
|
cs |
첫번째 인자는 해당함수 안의 this를 무엇으로 치환할 지,
두번째 인자는 해당함수의 매개변수를 배열로 받아서 사용
1
2
3
4
5
6
7
8
9
10
11
|
o1 = {val1:1, val2:2, val3:3}
o2 = {v1:10, v2:50, v3:100, v4:25}
function sum(){
var _sum = 0;
for(name in this){
_sum += this[name];
}
return _sum;
}
alert(sum.apply(o1)) // 6
alert(sum.apply(o2)) // 185
|
cs |
간단하게 객체나 배열을 인자로 전달하여 this를 대체
예외적허용 apply 메서드 사용, this를 o1 전달하면서 정상적인 출력이 된다.
name in this 에서 this라는 객체의 현재 정해져있지 않지만, 호출하게 되면 결정이 된다.
sum에서 o1을 apply 하게 되면 가지고 있는 값들을 합을 하여 내뱉게 된다.
apply 함수
'Language > JavaScript' 카테고리의 다른 글
[JavaScript] 상속 (1) | 2021.10.10 |
---|---|
[JavaScript] 객체지향, new 그리고 this (1) | 2021.10.09 |
[JavaScript] 함수 (2) | 2021.10.08 |
[JavaScript] 정규표현식 (2) | 2021.10.07 |
[JavaScript] 객체 & 모듈 (1) | 2021.10.03 |
@jaewpark :: 코스모스, 봄보다는 늦을지언정 가을에 피어나다
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!