티스토리 뷰

생활 코딩/JAVASCRIPT

Arguments

준승박 2021. 8. 17. 19:44

arguments

1) arguments 개념
arguments는 사용자가 전달한 인자들이 담겨있는 객체다.
- .length를 통해 함수가 몇개의 인자 전달 받았는 지를 알 수 있다.
- arguments[i] 를 통해 각 자리의 인자 값을 알 수 있다.

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));
자바스크립트는 매개변수의 수가 함수의 정의와 달라도 에러가 발생하지 않는다.

function one(arg1){

    console.log(

        'one.length', one.length,         //1

        'arguments', arguments.length //2

    );

}

one('val1', 'val2');
apply
내장함수

function sum(arg1, arg2){

    return arg1+arg2;

}

sum(1,2)    //3

sum.apply        //function apply(){[native code]}     native code : 내장함수란 뜻

sum.apply(null, [1,2]);    //3     -첫번째 인자가 null로 들어갈 때는, 쓰지않기.
사용하는 이유

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
o1 객체를 sum의 인자 값으로 전달한다.
this는 var this = o1; 과 암시적으로 같다.
실행되는 그 순간에는 o1이라는 객체의 메소드 sum이 된다는 것.
즉, o1 = { va1 : 1, val2 : 2, val3 : 3, sum : sum} 에 o1.sum()과 같다.

'생활 코딩 > JAVASCRIPT' 카테고리의 다른 글

함수를 호출  (0) 2021.08.17
클로저  (0) 2021.08.17
값으로서의 함수와 콜백  (0) 2021.08.17
유효범위  (0) 2021.08.17
객체  (4) 2021.08.16
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함