function
키워드는 식(expression) 내에서 함수를 정의하는 데 사용될 수 있습니다.
구문
function [name]([param1[, param2[, ..., paramN]]]) { statements }
매개변수
name
- 함수 이름. 익명(anonymous) 함수인 경우, 생략될 수 있음. 이름은 함수 몸통(body)에서만 지역(local)입니다.
paramN
- 함수에 건네지는 인수(argument)명.
statements
- 함수 몸통을 구성하는 문(statement).
설명
function 식은 function 문과 매우 비슷하고 거의 같은 구문입니다 (자세한 사항은 function 문 참조). function 식과 function 문 사이의 주요 차이점은 익명 함수를 만들기 위해 function 식에서 생략될 수 있는 함수 이름입니다. function 식은 정의되자마자 실행하는 IIFE(즉시 호출 Function 식)로 사용될 수 있습니다. 더 자세한 정보는 함수 장 참조.
예제
다음 예제는 익명 함수를 정의하고 그 함수를 x
에 할당합니다. 함수는 인수의 제곱을 반환합니다:
var x = function(y) { return y * y; };
유명(named) 함수 식
함수 몸통 내 현재 함수를 참고하고 싶다면, 유명 함수 식을 생성해야 합니다. 그러면 이 이름은 함수 몸통(범위, scope)에서만 지역입니다. 이는 또한 비표준 arguments.callee
속성(property)을 사용하여 피합니다.
var math = { 'factorial': function factorial(n) { if (n <= 1) return 1; return n * factorial(n - 1); } };
스펙
브라우저 호환성
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |