ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바스크립트 함수
    자바스크립트 2019. 12. 30. 01:49

    함수를 선언해보자 번째,

     

    function add(x) {
    var y = x + 1;
    return y;
    }

    이렇게 함수를 만들면 , 이것을 함수를 선언했다고 한다.

    그리고 자바스크립트에서는 변수 안에 함수를 대입하는 방식으로 

    함수를 만들 수 있는데, 이건 아래 예제로 확인하자.

    var add = function(x) {
    var y = x + 1;
    return y;
    };

    이렇게 함수를 만드는 것을 함수 표현식이라고 부른다.

    아래와 위의 방식의 차이는 호이스팅이라는 현상이 있는데,

    호이스팅은 나중에 따로 포스팅하겠다.

    여기서 차이점은 마지막 끝에 ;를 붙힌다고 생각하자.

    여기선 add 가 함수의 이름이자 변수의 이름이고 ,

    x 가 사용자가 넣고 싶은 값을 넣는 곳이다.

    x 를 매개변수라고 말하고 영어로는 Parameter 라 한다.

    return 은 y 값을 바깥으로 내보내고 함수를 종료하라는 의미이다.

    이것을 반환한다고 표현한다.

     

     

    호출을 통해 반환하는 값을 변수로 저장해두고

    함수를 호출해보자.

    var i = add(1);
    i; // 2

    이렇게 매개변수의 상응하는 인자 1을 넣었다,

    여기서의 1은 매개변수가 아닌 인자(Argument)이다.

    함수를 선언할 때의 괄호 안의 값은 매개변수(Parameter) 이고,

    함수를 호출할 때의 괄호 안의 값은 인자(Argument) 이다.

    여기서 인자 값은 사용자가 아무거나 넣어도 수식에 맞게 결과가 출력되는 모습을

    확인할 수 있다.

     

     

    return 을 하지 않는 함수 번째,

     

    var dateChecker = function() {
    var date = new Date();
    alert(date);
    };
    dateChecker(); // undefined
    

    위와 같이 return 이 없는 함수는 자동으로 undefined 를 반환한다.

    알림은 alert(date); 의 결과로 뜨는 것 이고 ,

    dateChecker 함수의 return 에 의한 것이 아니다.

    알림이 뜨고나서 콘솔에서 확인해보면 

    undefined 가 출력되는 것을 확인할 수 있다.

    사실 모든 함수는 return 을 입력하지 않으면 자동으로 

    return undefined; 가 마지막 코드로써 동작한다.

    그리고 return 이후에는 함수가 종료되어 반환되기 때문에

    다음 라인은 실행되지 않는다.

     

     

    속성의 값으로 사용되는 함수 세번째,

     

    var a = {
    b: function(){
    return;
    }
    };

    위 경우에 속성 b 의 값은 함수로 나타내어진다.

    이렇게 만들면 a.b(); 로 함수를 호출할 수 있다.

    이렇게 속성의 값으로 사용되는 함수를 메소드라고 부른다.

     

     

    조금 심화된 함수 번째,

     

    var mother = function(func) {
    	func();
    };
    
    var children = function() {
    	alert("반가워요");
    };
    
    mother(children); // 반가워요

    함수 2개 mother , children 을 만들었다,

    여기서는 mother 함수를 호출할 때 인자로 children 함수를 넣었는데,

    특이하게 함수의 반환 값을 넣지 않고 함수 자체를 넣었다.

    이렇게 넣어진 children 함수는 func 매개변수로 전달되어 

    func(); 를 통해 호출된다. 즉 func(); 가 children(); 과 같게 된것이다.

    함수가 인자값과 매개변수로써 사용되는 경우이다.

    이렇게 값으로 사용되는 함수를 프로그래밍에서는 1급 함수라고 한다.

    뒤에서 이 내용들의 심화과정을 알아보자.

    '자바스크립트' 카테고리의 다른 글

    자바스크립트 배열  (0) 2019.12.23
    자바스크립트 객체  (0) 2019.12.23
    자바스크립트 시작하기.  (0) 2019.12.23

    댓글

Designed by Tistory.