함수
함수는 프로그램에서 반복적으로 사용되는 기능을 만들어내기 위한 코드의 집합입니다.
분류 | 종류 | 설명 |
사용자 정의 함수 | 선언적 함수 익명적 함수 |
프로그램에서 필요한 기능을 사용자가 직접 정의해서 사용하는 함수 |
내장 함수 | 인코딩, 디코딩함수 숫자 판별 함수 유·무한값 판별함수 숫자변환 함수 문자 변환 함수 자바스크립트 문자 변경 함수 |
프로그램 개발에서 자주 사용되느 기능들을 자바스크립트 내부적으로 제공해주는 함수입니다. |
1. 선언적 함수
선언적 함수의 형식
function 함수( ){
실행문;
}
function compute( ){
console.log('선언적 함수');
}
선언적 함수의 호출
'선언적 함수'는 함수를 호출할 때 함수의 앞 또는 뒤에서 호출 가능
function comput(){
console.log('선언적 함수');
}
compute();
compute();
function comput(){
console.log('선언적 함수');
}
var로 선언한 변수와 선언적 함수는 변수, 함수 선언 이전에 호출하여도 에러를 발생시키지 않습니다
2. 익명 함수
익명 함수의 형식
'익명 함수'는 변수에 함수 데이터를 저장하여 변수를 마치 함수처럼 사용 할 수 있도록 만들어 줍니다.
var 변수 = function()function {
실행문;
};
var compute = function( ){
console.log('익명 함수');
};
익명 함수의 호출
'익명 함수'는 변수 선언 이후에 호출해야 합니다.
var comput = function(){
console.log('선언적 함수');
}
compute();
<즉시 실행 함수(Immediately-invoked function expression)>
익명 함수 중에는 필요에 따라 일회성으로 사용되는 함수도 있습니다. '즉시 실행 함수'는 선언과 동시에 함수가 실행되며 함수명이 없기 때문에 재호출 할 수 없습니다. (처음 한번만 실행되는 초기화 코드에 사용)
function(){
실행문;
})();
(function(){
var sum = 10;
cosole.log(sum);
})();
<!DOCTYPE html>
<html lang="co">
<head>
<meta charset = "UTF-8">
<title>즉시 실행 함수</title>
<script>
(function(){
life();
})();
function life(){
console.log('즉시 실행 함수1');
}
var instant = (function(){
console.log('즉시 실행 함수2');
})();
</script>
</head>
</html>
즉시 실행 함수1
즉시 실행 함수2
3. return함수, 매개변수 함수
3-1. return함수
return은 함수를 통해 처리된 결과를 반환시켜주는 명령어
[예제]<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset = "UTF-8">
<title>RETRUN함수</title>
<script>
function process(){
var kor = 100;
var eng = 90;
var avg = (kor + eng)/2;
return avg;
}
console.log(process());
</script>
</head>
<body>
</body>
</html>
95
return은 함수를 호출한 곳으로 결과 데이터를 반환하고 함수는 종료됩니다.
3-2. 매개변수 함수
함수를 호출할 때 전달하는 변수 - 매개변수
매개변수가 있는 함수의 형식
function 함수명(맥변수1.매개변수2...){
실행문;
}
함수명(매개변수1값, 매개변수2값...)
var avg = (s1, s2)/2;
feturn avg;
}
console.log(getAvg(90,80));//85
var 변수명 = function(매개변수1, 매개변수2...){
실행문;
};
변수명(매개변수1값, 매개변수2값...);
var avg = (s1 + s2)/2;
return avg;
};
console.log(getAvg(90, 80));//85
(function(매개변수1, 매개변수2...){
실행문;
}
)(매개변수1값, 매개변수2값);
var avg = (s1+s2)/2;
console.log(avg);//85
}
)(90, 80);
<매개변수의 갯수가 정해지지 않은 함수>
매개변수가 있는 함수의 경우 매개변수의 갯수가 정해져 있습니다.
매개변수의 갯수를 정할 수 없는 함수를 만들어야 하는 경우 발생시 함수에 전달되는 매개 변수 값을 저장해주는
argugment객체를 사용하여 함수를 만들 수 있다.
함수 안에서 argument객체를 사용하면 매개변수를 배열이라는 형태로 저장
arguments.length는 arguments에 저장되어있는 배열의 개수
console.log(argugments[0] + ',' + argugments[1]); // html, css
console.log(argugments.length); //2
}
showSubject('html', 'css');
3-3. 화살표 함수
=>를 이용하여 함수를 간결하게 표현할 때 사용
화살표 함수는 function 키워드를 생략하고 부등호'='과'>'을 합쳐 코딩하며 항상 익명함수 형식으로 표현합니다
단일 명령문일 경우에는 함수의 중괄호{}와 return을 생략가능
concole.log(doMultiplicstion(2, 5)); //10
var avg = (s1+s2)/2;
retrun avg;
}
concole.log(doMultiplicstion(2, 5)); //3.5