1. 함수란 무엇인가?
: 함수(function)란 하나의 특별한 목적의 작업을 수행하도록 설계된 독립적인 블록을 의미한다.
이러한 함수는 필요할 때마다 호출하여 해당 작업을 반복해서 수행할 수 있다.
2. 함수 문법
function 함수이름(매개변수1, 매개변수2,...) {
함수가 호출되었을 때 실행하고자 하는 실행문;
}
ex)
// addNum라는 이름의 함수를 정의함.
function addNum(x, y) { // x, y는 이 함수의 매개변수임.
document.write(x + y);
}
addNum(2, 3); // addNum() 함수에 인수로 2와 3을 전달하여 호출함.
3. 함수 사용할 때 주의할 점
1) 함수 하나당 기능 하나임
2) 함수명은 반드시 그 기능을 나타내야 함
3) 함수명 지을 때는 동사가 제일 앞으로 와야 함
4) 중복 코드 관리
5) 비슷한 기능을 수행하는 함수의 경우 여러 개로 만드는 것보다 추상적으로 하나만 작성해야 함
4. 반환(return)문
- 자바스크립트에서 함수는 반환(return)문을 포함할 수 있다.
- 이러한 반환문을 통해 호출자는 함수에서 실행된 결과를 전달받을 수 있다.
- 반환문은 함수의 실행을 중단하고, return 키워드 다음에 명시된 표현식의 값을 호출자에게 반환한다.
반환문은 배열이나 객체를 포함한 모든 타입의 값을 반환할 수 있다.
ex)
function multiNum(x, y) {
return x * y; // x와 y를 곱한 결과를 반환함.
}
var num = multiNum(3, 4); // multiNum() 함수가 호출된 후, 그 반환값이 변수 num에 저장됨.
document.write(num);
5. 콜백함수(Callback Function)
: 사용자가 호출하는 것이 아니라, 컴퓨터가 호출해 주는 함수이다.
ex)
function whatYourName(name, callback) {
console.log('name: ', name);
callback();
}
function finishFunc() {
console.log('finish function');
}
whatYourName('miniddo', finishFunc);
<output>
name: miniddo
finish function
6. 함수 오버로딩(Function Overloading)
: 같은 함수명이라도 매개변수가 다르면 그에 따른 함수를 호출하는 기능이다.
원래 자바스크립트에서는 해당 기능이 없지만 비슷하게 구현이 가능하다.
ex)
function showSomething(param1, param2, param3) {
console.log(`Arguments Count : ${arguments.length}`);
switch(arguments.length) {
case 1: console.log("param1"); break;
case 2: console.log("param1 param2"); break;
}
}
showSomething("a", "b", "c"); // Output -> Argument Count : 3
'Javascript' 카테고리의 다른 글
자바스크립트_로또 당첨 알고리즘 만들기 (0) | 2022.02.15 |
---|---|
자바스크립트 기초(배열) (0) | 2022.02.11 |
자바스크립트 기초(조건문, 반복문) (0) | 2022.02.10 |
자바스크립트 기초(연산자) (0) | 2022.02.10 |
자바스크립트 기초(변수) (0) | 2022.02.07 |