본문 바로가기
HTML+CSS+Javascript/Javascript

6. 함수

by 김마리님 2020. 3. 11.

데이터를 전달받아 정해진 작업을 수행하고, 결과값을 반환하는 것을 함수라고 한다.

자바스크립트에서 함수를 선언할때는 function을 쓴다.

        function adder(a,b){
            sum=a+b;
            return sum;

여기서 adder은 함수의 이름, a,b는 주어진 값의 실행을 위해 필요한 변수(매개변수), return은 결과값을 반환하기 위한 키워드, sum은 결과를 수행한 값을 의미한다.

이 함수는 다음과 같이 호출한다.

        var n=adder(12345,67890);
        document.writeln(n);

혹은
        adder(12345,67890);

함수에 변수를 지정해줘서 출력코드를 이용해 불러내는 방식이 있고, 이름과 필요한 매개변수를 지정해서 불러내는 방법이 있다.

 

-함수의 응용

        function adder1(){
            f=document.frm;
            s=parseInt(f.n1.value)+parseInt(f.n2.value);
            f.sum.value=s;
            return;
        }

<body>
    <form name="frm">
        숫자1:<input name="n1">+숫자2<input name="n2"><br>
        <input name="sum">
        <input type="button" value="더하기" onclick="adder1()">
    </form>
</body>

다음과 같이 form을 함수에 선언할수도 있다.

form값에 입력된 값1과 값2를 가져와서 더해서 결과를 내놓는 함수이다.

 

 

 

-전역함수

자바스크립트는 몇몇개의 전역 함수를 제공한다.

  • eval() : 수식을 문자열 형태로 전달받아 실행한다
  • parseInt(str,radix) : 문자열을 숫자로 반환하여 리턴한다. radix를 입력할경우, 8진수나 16진수를 반환한다.
  • parseFloat(str) : 문자열을 실수로 반환하여 리턴한다.
  • isFinite() : 숫자를 나타내는 상수 키워드 
  • isNaN() : 숫자가 아님을 나타내는 상수 키워드
        function calc(){
            res=eval("2*3+4*6");
            document.writeln(res+"<br>");
            res2=parseInt("0x32");
            document.writeln(res2+"<br>");
            res3=parseInt("aaa");
            if(isNaN(res3))
                document.writeln("res3은 숫자가 아닙니다");
            }

첫번째 줄 : " "를 이용해 문자열로 지정되었음에도, 2x3+4*6=30이 도출되었다

두번째 줄 : 문자열로 16진수를 지정했음에도, 이것을 정수형으로 바꾸고, 10진수로 변환해 도출했다.

세번째 줄 : "aaa"는 정수로 변환될 수 없는 값이므로 NaN가 true로 도출되었다.

반응형

'HTML+CSS+Javascript > Javascript' 카테고리의 다른 글

8. 배열  (0) 2020.03.11
7. 객체  (0) 2020.03.11
5. 반복문  (0) 2020.03.11
4. 조건문  (0) 2020.03.11
3. 연산  (0) 2020.03.10