함수 선언문(function declaration)
- function 키워드 + 함수이름 + (parameter) + { 함수 본문 }
function user() {
console.log('hello')
}
지역변수(local variable)
- 함수 내에서 선언한 변수.
- 함수 내에서만 접근할 수 있다.
function hello() {
let hi = 'hi' // 함수 외부에서 호출하면 에러남
console.log(hi);
}
외부변수(outer variable)
- 함수 내부에서는 함수 외부변수에 접근할 수 있으며, 함수 내에서 외부 변수를 수정할 수 있다.
- 함수 외부변수명과 내부변수명의 이름이 같을 경우, 함수 내에서는 내부 변수명이 더 우세하다.(외부변수를 가림)
let username = '유비';
function transMan() {
username = '관우'
console.log('유비 → 관우 함수 실행')
}
console.log(username);
transMan()
console.log(username);
let username = '유비';
function transMan() {
let username = '관우'
console.log(`함수 내부의 username은 ${username}으로 실행`)
}
console.log(username);
transMan()
console.log(username);
전역변수(Global variable)
- 함수 외부에 선언된 변수. (외부변수)
- 같은 이름을 가진 지역변수에 가려지지 않는다면 모든 함수에서 접근할 수 있다.
매개변수(parameter)
- 함수명 뒤에 괄호로 둘러쌓인 변수들이다.
- 매개변수는 임의의 데이터(인자)를 전달받아 함수 안에 전달할 수 있다.
function letter(from, to, order) {
console.log(`${from}가 ${to}에게 ${order}를 명령한다.`);
}
letter('유비', '관우', '후퇴')
매개변수 기본값 선언
- 매개변수에 값을 전달하지 않으면 그 값은 ' undefined ' 가 된다.
- ' undefined ' 대신 다른 기본값을 설정할 수 있다.
- 해당하는 매개변수에 해당하는 인자가 없을 경우, 함수는 매개변수의 기본값을 평가한다.
function letter(from, to, order = '아무것도 하지 않음') {
console.log(`${from}가 ${to}에게 ${order}을 명령한다.`);
}
letter('유비', '관우')
매개변수 기본값을 설정할 수 있는 다른 방법
- 함수가 실행되는 도중 기본값을 설정해야 하는 경우가 생기기도 한다.
- 이럴 때는 기본값 입력이 없을 시 ' undefined '가 할당되는 것을 이용하여 새로운 시도를 할 수 있다.
function letter(from, to, order) {
if (from == undefined) from = '익명';
if (to == undefined) to = '아무나';
if (order == undefined) order = '아무것도 하지 않음';
console.log(`${from}이 ${to}에게 ${order}을 명령한다.`);
}
letter()
반환값(Return Value)
- 함수를 호출했을 때 함수를 호출할 그 곳에 특정값을 반환하게 할 수 있다.
- 이 때 이 특정값을 반환값(Return Value)이라고 한다.
- 반환값이 없거나, return만 명시된 함수는 undefined를 반환한다.
function calc(a, b) {
console.log(a + b);
return ('하지만 반환값은 이게 나오겠지')
}
rv = calc(2, 2);
console.log(rv);
- 함수의 return 아래 기입된 함수 내용들은 전부 무시된다.
- 즉, return을 선언하면 함수는 반환값을 반환하고 실행이 종료된다.
// x의 n제곱을 반환해주는 함수, pow(x,n)를 만들어보세요. x의 n 제곱은 x를 n번 곱해서 만들 수 있습니다.
// 주의사항: n은 1 이상의 자연수이어야 합니다. 이외의 경우엔 자연수를 입력하라는 내용을 반환해야 합니다.
function pow(x, n) {
if (n < 1) {
return ('n은 1 이상의 자연수여야 합니다');
}
else {
let val = x
for (let i = 2; i <= n; i++) {
val = val * x
}
return val
}
}
console.log(pow(3, 4));
https://ko.javascript.info/function-basics
'Javascript' 카테고리의 다른 글
(JS) 함수 선언식과 함수 표현식의 차이점 및 요약 (0) | 2022.06.02 |
---|---|
(JS) 함수 표현식 (콜백함수/익명함수) (0) | 2022.06.02 |
(JS) for 반복문을 이용하여 2부터 10까지 숫자 중 짝수만 출력하기 (0) | 2022.06.02 |
(JS) while 전위 연산자, 후위 연산자 // while, for (0) | 2022.06.02 |
(JS) 객체 기본, 순수 객체 (0) | 2022.05.23 |