본문 바로가기
부트캠프교육중/JavaScript

[JS] 함수

by 뭉지야 2022. 12. 19.
728x90

<함수정의>
#함수: 입력을 받아서 코드블록 내부의 코드를 실행한후 함수의 실행결과를 반환(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
728x90

'부트캠프교육중 > 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