ECMAScript 함수 개요
- 이전 페이지 switch 문
- 다음 페이지 arguments 객체
함수는 무엇인가요?
함수는 언제든지 어디든지 실행할 수 있는 코드 그룹입니다.
함수는 ECMAScript의 핵심입니다.
함수는 다음과 같은 방식으로 선언됩니다: 키워드 function, 함수 이름, 인자 그룹, 괄호 안에 실행할 코드.
함수의 기본 문법은 다음과 같습니다:
function functionName(arg0, arg1, ... argN) { statements
예를 들어:
function sayHi(sName, sMessage) { alert("Hello " + sName + sMessage);
함수를 어떻게 호출하나요?
함수는 이름과 인자를 포함한 괄호를 사용하여 호출됩니다. 여러 인자가 있을 수 있습니다.
위의 예제 함수를 호출하려면 다음과 같은 코드를 사용할 수 있습니다:
sayHi("David", "Nice to meet you!")
위의 함수 sayHi() 호출하면 경고 창이 생성됩니다. 다음과 같이 사용할 수 있습니다.이 예제를 직접 시도해 보세요.
함수는 어떻게 반환 값을 가지게 됩니까?
함수 sayHi()는 반환 값을 가지지 않지만, 특별히 선언할 필요가 없습니다(Java에서 void를 사용하는 것처럼).
함수가 실제로 값이 있더라도, 명확하게 선언할 필요는 없습니다. 함수는 반환 값을 가진 return 연산자를 사용할 수 있습니다.
function sum(iNum1, iNum2) { return iNum1 + iNum2;
아래의 코드는 sum 함수가 반환하는 값을 변수에 할당합니다:
var iResult = sum(1,1); alert(iResult); //출력 "2"
또한, Java와 마찬가지로, 함수는 return 문이 실행된 후 즉시 코드가 멈춥니다. 따라서 return 문 이후의 코드는 실행되지 않습니다.
예를 들어, 아래의 코드에서 alert 창은 표시되지 않습니다:
function sum(iNum1, iNum2) { return iNum1 + iNum2; alert(iNum1 + iNum2);
함수에서는 여러 개의 return 문을 가질 수 있습니다. 예를 들어:
function diff(iNum1, iNum2) { if (iNum1 > iNum2) { return iNum1 - iNum2; } return iNum2 - iNum1;
위 함수는 두 수의 차를 반환합니다. 이를 위해 큰 수에서 작은 수를 뺄 필요가 있기 때문에,哪个 return 문을 실행할지 결정하기 위해 if 문을 사용합니다.
함수가 반환 값을 가지지 않으면, 언제든지 함수를 탈출할 수 있는 매개변수가 없는 return 연산자를 호출할 수 있습니다.
예를 들어:
function sayHi(sMessage) { if (sMessage == "bye") { return; alert(sMessage);
이 코드에서 sMessage가 "bye"와 같다면, 경고 상자는 영원히 표시되지 않습니다.
주의사항:함수가 명확한 반환 값이 없거나, 매개변수가 없는 return 문을 호출하면, 실제로 반환하는 값은 undefined입니다.
- 이전 페이지 switch 문
- 다음 페이지 arguments 객체