반응형

1. Javascript 함수

  • 함수 이름, 매개변수, 함수내용으로 이루어져 있습니다.
  • 함수는 매개변수를 통해 여러개의 인자를 받아오고 결과를 반환합니다.
  • 자바스크립트 함수는 반드시 return값이 존재하며, return 값이 없을 때는 기본 반환값인 'undefined'가 반환됩니다.
  • 자바스크립트에서는 void 타입이 없습니다.

1.1 함수 선언문

  • 일반적인 프로그래밍 언어에서 사용하는 함수선언방식입니다.
    function 함수이름(매개변수) {
      함수내용
    }

1.2 함수표현식

  • 변수를 선언하고 변수에 함수를 할당하는 방식입니다.
    var 함수이름 = function(매개변수){
    함수내용
    }

1.3 호이스팅(Hoisting)

  • 자바스크립트 함수는 실행되기 전에 함수 안에 필요한 변수값들을 미리 다 모아서 최상단에서 선언합니다.
  • 실제 코드가 끌어올려지는 것이아니라 내부적으로 그렇게 동작합니다.
  • 이때 선언과 할당모두를 상단으로 끌러올리는 것이아니라 선언부분만 상단으로 끌어올립니다.
  • 변수에 값을 할당하기 이전에 변수를 호출할 경우 오류가 발생하지는 않고, 자동으로 undefined이 할당됩니다.

예시

// 실제 자바스크립트 코드

function test(){
    var name = 'calmdawn'
    console.log(name);
}

test();
// 호이스팅에 의해 자바스크립트가 해석하여 동작하는 방식

var test;       //끌어올려짐, 아직 함수로 인식하지 못한상태이므로 변수로 인식합니다.
var name;       //끌어올려짐

function test(){
    var name = "calmdawn";
    console.log(name);
}

test();

1.4 함수선언문과 함수표현식 차이점

  • 함수선언문은 호이스팅에 영항을 받지만, 함수표현식은 호이스팅에 영향을 받지 않습니다.
  • 일반적으로 함수선언문을 자주 사용하지만, 함수표현식은 클로저, 콜백으로 사용합니다.
    • 콜백함수 : 특정 시점에 호출되는 함수로, 보통 다른함수의 인자로 전달된 함수입니다.

1.5 arguments 객체

  • 모든 함수 내부에서 자동으로 생성되는 지역변수 입니다.
  • arguments 객체는 가변인자를 받아 처리할때 유용합니다.
  • 인자를 처리할때 arguments를 사용하여 배열의 형태로 접근할 수 있지만 객체타입으로 배열타입이 아닙니다.
반응형

'웹(Web)개발 > 5. Javascript' 카테고리의 다른 글

5. Javascript Ajax 통신  (0) 2020.10.12
3. Javascript 비교, 분기, 반복  (0) 2020.10.12
2. Javascript 연산자, 타입  (0) 2020.10.12
1. Javascript 기초(변수, 범위)  (0) 2020.10.12

+ Recent posts