사용자 정의 함수 Function
2021. 11. 30. 11:55ㆍStudy/JavaScript
함수는 Function / Method (기능) 이라고도 한다.
함수에는 두가지가 있다.
1. 내장함수 - 이미 자바스크립트에 만들어져 있는 함수 (); 괄호를 가지고 있음. (호출문)
2. 사용자 정의 함수 - 프로그래머가 함수를 직접 만들어서 사용한다.
사용자 정의 함수
* 쉽게 말해 함수란 어떤 문법 덩어리를 그룹으로 만들어놓는 것이다. (그룹화)
* 프로그래머가 필요에 의해 직접 만들어서 사용하는 함수
* 4가지 형식의 함수를 선언해서 사용할 수 있다. (아래 이미지 참조)
* 코드의 중복을 최소화 할 수 있다.
* 함수를 선언했다고 해서 자동으로 계산되지 않는다.
└ 필요 시에 함수를 호출하여 사용한다.
1. 기본 함수 함수명();
*동일한 코드의 중복을 가장 최소화 할 수 있다. (호출하는 만큼 실행한다.)
function 함수명(){
// 처리할 코드;
}
함수명(); // call문, 호출문
function calc(){
var num1=100;
var num2=10;
console.log('두 수의 합: ' + (num1+num2));
console.log('두 수의 차: ' + (num1-num2));
console.log('두 수의 곱: ' + (num1*num2));
console.log('두 수의 나눈 몫: ' + (num1/num2));
}
calc(); //함수의 호출 - 호출하는 만큼 실행된다.
<a href="#" onclick="calc();">계산</a> // event handler로도 호출할 수도 있다.
2. 매개변수를 갖는 함수 함수명(파라미터);
*함수이름을 호출하고, 매개변수 값을 넣어줘야 실행된다.
*대표적으로 alert(), promt() 함수.
*매개변수의 값에 따라 수많은 결과값을 얻을 수 있다.
*call문에 값을 넣어줘야 한다. → 함수명(값1, 값2, ...); *값 : 전달인자, 파라미터
function 함수명(매개변수1, 매개변수2, ...){ // var 생략, var 선언 한 변수와 같은 역할
// 처리할 코드;
}
함수명(매개변수1, 매개변수2, ...); // call문, 호출문 (함수의 값을 넣어준다) 인자, 파라미터
function calc(num1, num2){ // num1 = 100, num2 = 10
console.log('두 수의 합: ' + (num1+num2));
console.log('두 수의 차: ' + (num1-num2));
console.log('두 수의 곱: ' + (num1*num2));
console.log('두 수의 나눈 몫: ' + (num1/num2));
}
calc(100,10); // call문, 호출문, 함수에 들어갈 값을 넣어준다.
<a href="#" onclick="calc(100,10);">계산</a> // event handler로도 호출할 수도 있다.
* 값을 넣어주지 않은 경우 : NaN (계산할 수 없는 값), 에러가 나진 않는다.
3. 리턴값을 갖는 함수 return
*return 값을 함수에 담아온다.
function calc(){
// 처리할 코드;
return 리턴값; // 리턴 뒤에는 무조건 '값 하나'가 있어야 한다. 값을 함수로 보냄.
}
var sum = calc(); // 값을 sum에 담는다. 함수 자체가 값을 의미한다.
console.log('두 수의 합: ' + sum);
* var sum = calc() + calc() - 377 / 2; // 값이기 때문에 연산이 가능하다
function calc(){
var num1 = prompt('정수를 입력하세요', '');
var num2 = prompt('정수를 입력하세요', '');
return Number(num1)+Number(num2);
}
var sum = calc(); // return 값을 함수(calc)에 담아 sum에 넣어 준다
console.log('두 수의 합: ' + sum);
function eat(){
var kname = prompt('이름을 입력하세요', '');
var food = prompt('음식을 입력하세요', '');
return kname + '씨는 아침으로 ' + food + '를 먹고있다.';
}
console.log(eat());
4. 매개변수와 리턴값을 갖는 함수
*매개변수와 리턴값을 갖는 함수
function calc(매개변수1, 매개변수2, ...){
// 처리할 코드
return 리턴값;
}
sum = calc(매개변수1, 매개변수2, ...); // call문
console.log(sum);
* var sum = calc() + calc() - 377 / 2; // 값이기 때문에 연산이 가능하다
function calc(num1, num2){
return Number(num1)+Number(num2);
}
var sum=calc(100,10);
console.log('두 수의 합: '+sum);
익명함수
* 형식의 변화
1) 기본함수
var 함수 = function (){
//처리할 코드;
}
2) 매개변수
var 함수 = function (매개변수1, 매개변수2, ...){
// 처리할 코드;
}
3) 리턴값
var 함수 = function(){
// 처리할 코드;
return 값;
}
4) 매개변수, 리턴값
var 함수 = function(매개변수1, 매개변수2, ...){
// 처리할 코드;
return 값;
}
var person = function(name, height, weight){
return name+'님의 키는 '+height+'cm 이고, 체중은 '+weight+ 'kg 입니다';
}
var man1 = person('이수근', 180, 70);
var woman1 = person('홍순심', 150, 80);
console.log(man1);
console.log(woman1);
화살표함수
* 익스 구버전에서 안먹는다.
var 함수명 = (매개변수1, 매개변수2, ...) => {
// 처리할 코드;
return 값;
}
'Study > JavaScript' 카테고리의 다른 글
Object 사용자 정의 객체 (0) | 2021.12.01 |
---|---|
변수의 유효범위 scope (0) | 2021.11.30 |
break; continue; (0) | 2021.11.30 |
JavaScript - 7. 반복문 while (0) | 2021.11.29 |
JavaScript - 7. 반복문 for (0) | 2021.11.29 |