최신 웹 개발 튜토리얼
 

JavaScript함수 정의


자바 스크립트 함수는로 정의function 키워드.

당신은 함수 선언 또는 함수 표현식을 사용할 수 있습니다.


함수 선언

이번 튜토리얼에서, 당신은 기능은 다음과 같은 구문으로 선언 된 것을 알게 :

function functionName ( parameters ) {
  code to be executed
}

신고 기능이 바로 실행되지 않습니다. 그들은 "나중에 사용하기 위해 저장"하고, 그들이 호출 (부름) 될 때, 나중에 실행됩니다.

function myFunction(a, b) {
    return a * b;
}
»그것을 자신을 시도

세미콜론은 실행 가능한 자바 스크립트 문을 분리하는 데 사용됩니다.
함수 선언 실행 문 아니므 세미콜론으로 종료하는 것이 일반적 아니다.


기능 식

자바 스크립트 함수는 식을 이용하여 정의 될 수있다.

함수식은 변수에 저장 될 수있다 :

var x = function (a, b) {return a * b};
»그것을 자신을 시도

함수식이 변수에 저장 한 후, 변수 함수로서 사용될 수있다 :

var x = function (a, b) {return a * b};
var z = x(4, 3);
»그것을 자신을 시도

위의 기능은 실제로 익명 함수 (이름이없는 함수)입니다.

변수에 저장된 함수는 함수 이름이 필요하지 않습니다. 그들은 항상 변수 이름을 사용 (호출) 호출됩니다.

그것이 실행 문의 일부이기 때문에 함수는 위의 세미콜론으로 끝납니다.


Function() 생성자

이전의 예에서 보았 듯이, 자바 스크립트 함수는로 정의 된 function 키워드.

기능은 또한, 자바 스크립트 내장 함수 생성자라고 정의 할 수있다 Function() .

var myFunction = new Function("a", "b", "return a * b");

var x = myFunction(4, 3);
»그것을 자신을 시도

당신은 실제로 함수 생성자를 사용할 필요가 없습니다. 위의 예는 쓰기와 동일합니다 :

var myFunction = function (a, b) {return a * b};

var x = myFunction(4, 3);
»그것을 자신을 시도

대부분의 시간, 당신은 사용하지 않도록 할 수 있습니다 new 자바 스크립트 키워드를.


Function Hoisting

이번 튜토리얼에서, 당신은에 대해 배웠습니다 "hoisting" .

ㅏ 현재 범위의 상단에 선언을 이동하는 자바 스크립트의 기본 동작입니다.

ㅏ 변수 선언과 함수 선언에 적용됩니다.

이 선언되기 전에이 때문에, 자바 스크립트 함수를 호출 할 수 있습니다 :

myFunction(5);

function myFunction(y) {
    return y * y;
}

식을 사용하여 정의 된 함수가 게양되지 않습니다.


자동 호출 기능

함수 표현식은 "자기 호출"할 수있다.

자체 호출 표현이 호출 호출하지 않고, 자동 (시작)입니다.

표현은 다음 경우 함수 표현식이 자동으로 실행됩니다 () .

당신은 함수 선언을 자동 호출 할 수 없습니다.

당신은 함수 표현식을 나타 내기 위해 함수 괄호를 추가해야합니다 :

(function () {
    var x = "Hello!!";      // I will invoke myself
})();
»그것을 자신을 시도

위의 기능은 실제로 익명의 자기 호출 함수 (이름이없는 함수)입니다.


함수 값으로 사용할 수 있습니다

자바 스크립트 함수 값으로 사용할 수있다 :

function myFunction(a, b) {
    return a * b;
}

var x = myFunction(4, 3);
»그것을 자신을 시도

자바 스크립트 함수 표현식에 사용될 수있다 :

function myFunction(a, b) {
    return a * b;
}

var x = myFunction(4, 3) * 2;
»그것을 자신을 시도

함수 객체

typeof 자바 스크립트의 연산자는 반환 "function" 기능을.

그러나, 자바 스크립트 함수 가장 개체로 설명 될 수있다.

자바 스크립트 함수는 속성과 메소드를 모두 가지고있다.

에서 arguments.length 속성은 함수가 호출 될 때 인수의 수를 수신 반환

function myFunction(a, b) {
    return arguments.length;
}
»그것을 자신을 시도

toString() 메서드는 문자열로 함수를 반환합니다 :

function myFunction(a, b) {
    return a * b;
}

var txt = myFunction.toString();
»그것을 자신을 시도

개체의 속성으로 정의 된 함수는 개체에 대한 방법이라고합니다.
새 개체를 만들 수 있도록 설계 함수는 객체 생성자라고합니다.