ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바스크립트 함수
    Programming/javascript 2013. 7. 29. 21:05

    자바스크립트 함수

    자바스크립트에서 함수 First Class Object 다. 자바스크립트에서 함수는

    매우 중요하며 자바스크립트의 핵심이다.


    함수선언

    함수 선언은 함수를 서술한 코드자체는 실행코드가 아니다 자바의 class 와 비슷한 개념이다.

    이렇게 선언된 함수는 정의된 스코프(scope) 안에서는 어디서든 사용할 수 있다.

    ex)

    function human() {

    console.log('hello');

    }

    함수 표현식

    함수 표현식은 실행 가능한 코드로 변수에 익명함수를 할당한다.

    ex)

    var human = function() {

    console.log('hello');

    }


    이름있는 함수 표현식(named function expression)

    ex)

    var human = function man() {

    console.log('hello');

    }

    좀 특이한 경우인데 이름있는 함수 표현식의 특징은

    human 변수안에서는 사용가능 하지만 해당 함수 이름밖에서는

    사용할 수 없다.


    호이스팅(hoisting) ?

    자바스크립트 인터프린터가 global 영역으로 선언된 코드 블럭을 최상의 scope로 끌어올리는 것을 호이스팅이라 한다.

    호이스팅은

    함수선언문은 대상이 되지만 함수 표현식은 해당이 안된다.

    ex)

    //함수 선언문일경우 정상적으로 hello 를 출력한다.

    human();

    function human() {

    console.log('hello');

    }


    //함수 표현식일 경우는 Syntax error 가 된다.

    human();

    var human = function() {

    console.log('hello');

    }

    댓글

Designed by Tistory.