반응형

오늘은 자바스크립트의 function 함수arguments, arguments.length에 대하여 공부했던 내용을 정리해보았습니다. 

 

<script>

        /*

        //하나의 파라메터만 받지만 추가적으로 파라메터를 받으면 그냥 무시한다.

        alert("먼저");

        alert("먼저", "무시당함"); //뒤에 쓴건 실행하지않는다.

        alert();

        prompt("입력해보세요.");

 

        //파라메터의 개수에 따라서 예외처리가 되어있는 것들도 있다.

        var array1 = Array(); //빈 배열

        var array2 = Array(5); //5칸 배열 

        var array3 = Array(1, 2, 3, 4); //4칸 배열 , 배열 안의 내용은 1,2,3,4

        var array4 = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); //10칸배열

        var array5=[1];

        var array6=[1,2,3,4];

        alert(array1);

        alert(array2);  //실행결과는 공간,공간,공간,공간,공간 이렇게 되므로 쉼표 4개(,,,,) 찍힌다.

        alert(array3);

        alert(array4);

        alert(array5);

        alert(array6);

*/

/*

        function abc() {

            if (arguments.length == 0)

                return 0;

            var sum = 0;

            for (var i = 0; i < arguments.length; i++) {

                sum += arguments[i];

            }

            return sum; //1번

            //alert(sum); //2번

        }

        alert(abc(1,2,3)); //1번일때 호출가능, 반환하는 값(return 값)을 띄운다.

        //abc(1,2,3); //2번일때 호출가능

*/



        function pita1(w,h){

            return Math.sqrt(w*w+h*h); //Math.sqrt는 루트(w의제곱 + h의 제곱)

        }

        alert(pita1(3,4));

 

        function square(x){                     //square함수(제곱해주는함수) 만들기

            return x*x;

        }

        function pita2(w,h){

            return Math.sqrt(square(w)+square(h)); //square함수로 제곱을 만들어서 루트로 리턴함

        }

        alert(Math.floor(pita2(5,7)));  //floor함수로 소수점자리 안뜨게 함

    </script>

 

 

arguments 객체arguments.length 함수

 

arguments 객체는 함수에 전달된 인수에 해당하는 Array형태의 객체이며 모든 함수 내에서 이용 가능한 지역 변수입니다.

arguments 객체를 사용하면 함수 내에서 모든 인수를 참조할 수 있고, 호출 할 때 제공한 인수 각각에 대한 항목을 갖고 있습니다. 항목의 인덱스는 0부터 시작합니다. 그렇다고 arguments 객체가 Array라는 것은 아닙니다.

 

 

 

Array형태란 말은 arguments가 length 속성과 더불어 0부터 인덱스 된 다른 속성을 갖고 있지만 

Array의 pop(),forEach, map처럼 내장 메서드를 가지고 있지 않다는 의미입니다.

그러나 실제로 Array로 변환 할 수는 있습니다.

 

 

arguments.length란 함수에 전달된 인수의 수를 가리킵니다. 

함수에 전달된 인수의 수를 결정하기 위해 arguments.length를 쓰고 그 뒤에 argumnets 객체를 사용하여 각 인수를 처리하면됩니다.

 

● 코드 전체 실행 결과

 

위의 코드 전체 실행 결과

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기