<함수정의>
#함수: 입력을 받아서 코드블록 내부의 코드를 실행한후 함수의 실행결과를 반환(return)하는 일련의 과정의 묶음
#함수선언문
- 함수 선언 키워드인 function으로 함수를 선언
function greeting () {
console.log('hello world')
};
#함수표현식
-변수 선언키워드를 사용하여 함수를 할당하는 형태
- 변수에 함수를 할당
-여기서 greeting은 함수의 이름
let greeting = function () {
console.log('hello world')
};
<함수호출>
함수호출이란 함수를 실행시키는 명령을 전달하는 것과 같다.
함수명 뒤에 소괄호()를 붙이면 함수를 호출할수 있다.
let greeting = function () {
console.log('hello world')
};
greeting() // 'hello world'
<매개변수와 전달인자>
-function 함수명 (매개변수)
-매개변수는 함수를 정의할때 선언하고, 함수 코드블록 안에서 변수처럼 취급된다. 소괄호()에 있는게 매개변수다.
매개변수는 함수 내부에서 마치 변수와 같은 역할을 하게 된다.
function greeting(name){
console.log('hello ' + name);
}
- 함수이름: greeting, 매개변수: name
-아무것도 할당되어 있지 않으므로, 매개변수 name은 undefined로 초기화되어 있다.
function greeting (name) {
console.log('hello' + name);
}
greeting('kimcoding'); // 'hello kimcoding'
- 전달인자: kimcoding
-함수를 호출할때 소괄호 안에 값을 넣음으로써 매개변수에 값을 할당할수 있습니다. 이것이 바로 전달인자라고 합니다.
-매개변수 여러개사용도 가능하다.
-매개변수의 개수에 맞게 전달인자를 전달하면 매개변수에 차례대로 전달된다.
function greeting (user1, user2) {
console.log('hello' + user1);
console.log('hello' + user2);
};
greeting('kim', 'park'); // hello kim hello park
function getUserName (user1, user2) {
console.log(user1);
console.log(user2);
};
getUserName('kimcoding'); // 'kimcoding' undefined
-매개변수보다 적은 전달인자가 전달되면 undefined라고 나온다.
-매개변수는 함수 내부에서만 사용이 가능하다.
함수 내부에서 선언한 변수도 함수 내부에서만 사용이 가능하다.
-스코프: 변수가 유효한 범위!!!!
<return문>
반환한다: 함수 외부에서 함수의 결과값을 사용할수 있다는 의미이다
1. return문을 만나면 값을 반환한후 함수는 종료된다.
return문 뒤에 나오는 코드는 실행되지 않는다.
function add (x, y) {
return x + y; // 반환문
console.log('실행되지 않습니다');
}
2. return문에 작성된 코드를 실행한 후 결과를 함수 외부로 리턴합니다.
function add (x, y) {
return x + y; // 반환문
}
console.log(add(3, 2)); // 5
3. 함수 호출의 결과를 변수에 할당하는 것도 가능하다.
function add (x, y) {
return x + y; // 반환문
}
let result = add(3, 2);
console.log(result); // 5
4.함수의 호출 결과끼리의 연산도 가능하다.
function add (x, y) {
return x + y; // 반환문
}
let result = add(3, 2) + add(5, 7);
console.log(result); // 17
'부트캠프교육중 > JavaScript' 카테고리의 다른 글
[JavaScript] 배열과 반복문 (0) | 2022.12.30 |
---|---|
[JavaScript] 배열이란? (0) | 2022.12.30 |
[JS] 반복문 (0) | 2022.12.19 |
3-1(조건문) (0) | 2022.12.19 |
[JS] 변수 (0) | 2022.12.16 |