일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 브라우저
- 웹 프로그래밍
- 소수
- 다이나믹 프로그래밍
- 네이버 부스트캠프 ai tech
- Prim's Algorithm
- 프림 알고리즘
- Kruskal's Algorithm
- greedy
- 프로그래머스
- 부스트코스
- 웹서버
- 웹프로그래밍
- SERVLET
- 해시
- mysql
- BJ
- dbms
- 그리디
- 크루스칼 알고리즘
- 순열 알고리즘
- request
- 정렬
- programmers
- DP
- 백준
- mst
- 정렬 알고리즘
- jsp
- 벡엔드
- Today
- Total
끵뀐꿩긘의 여러가지
[부스트코스]웹 프로그래밍 17. JS 기초(3)-함수 본문
함수의 기본 형식
1
2
3
4
|
function 함수명( [인자...[,인자]] ){
코드
return 반환값
}
|
cs |
함수는 function 뒤에 함수의 이름이 오고, 소괄호가 따라온다. 소괄호에 인자라는 값이 차례로 들어오는데 이 값은 함수를 호출할 때 함수의 로직으로 전달될 변수다. 인자는 생략 할 수 있다. 함수를 호출 했을 때 실행하게 될 부분이 중괄호 안쪽에 온다.
ex)
1~9까지의 숫자를 출력해주는 JS코드
1
2
3
4
5
6
7
8
|
function numbering(){
i = 0;
while(i < 10){
document.write(i);
i += 1;
}
}
numbering(); //함수의 호출
|
cs |
함수의 입력과 출력
1.인자
인자(argument)는 함수로 유입되는 입력 값으로, 어떤 값을 인자로 전달하느냐에 따라서 함수가 반환하는 값이나 메소드의 동작방법이 다르다.
alert(get_argument(1));에서 1이 인자이다.
* get_argument 함수의 형식에서 인자가 arg 하나만 들어가게 되어있지만,
alert(get_argument(1,2,3)); 으로 형식보다 많은 인자가 들어가도 오류는 나지 않고 첫번째 인자만 인식해서 함수가 돌아간다.
2.return
함수 내에서 사용한 return은 return 뒤에 따라오는 값을 함수의 결과로 반환한다.
함수는 실행되기전에 기본적으로 undefined값이 할당되어있다 그러므로 함수에서 return이 없는경우 함수는 값으로 undefined를 반환한다.
함수의 호출 스택
함수는 기본적으로 콜스택을 기반으로 함수를 호출/실행한다.
콜 스택이란 컴퓨터 프로그램에서 현재 실행 중인 서브루틴에 관한 정보를 저장하는 스택 자료구조이다.
스택(Stack)은 데이터를 쌓아올리는 형태로 저장하여 추출할때는 맨 위에 있는 데이터를 먼저 꺼내는 형태이기 때문에 제일 마지막에 저장한 데이터를 제일 먼저 꺼내는 후입선출(LIFO - Last In First Out) 형태의 자료구조이다.
1
2
3
4
5
6
7
8
9
10
11
12
|
function printName(firstname) {
var myname = "jisu";
return myname + " ," + firstname;
}
function run(firstname) {
firstname = firstname || "Youn";
var result = printName(firstname);
console.log(result);
}
run("kim");
|
cs |
위의 코드를 실행시키면,
1. 인자 kim을 가진 run 함수가 스택에 입력됩니다. (스택에 있는 함수 : run)
2. run 함수에서 "kim"과 "Youn" 문자열을 비교하고, printName 함수를 스택에 입력합니다. (스택에 있는 함수 : run,printName)
3. printName 함수가 kim에 jisu를 붙여 jisu, kim을 return하고 스택에서 빠져나갑니다.(스택에 있는 함수 : run)
4. run 함수가 result를 출력하고 스택에서 빠져나갑니다.(스택에 있는 함수 : x)
어떤 언어든지 함수의 형식과 이용방법은 비슷한것 같네요.
'부스트코스 - 웹 > 2. DB 연결 웹 앱' 카테고리의 다른 글
[부스트코스]웹 프로그래밍 19. DOM과 querySelector (0) | 2020.03.13 |
---|---|
[부스트코스]웹 프로그래밍 18. 전역(window) 객체 메서드 (0) | 2020.03.06 |
[부스트코스]웹 프로그래밍 16. JS 기초(2)-조건,반복,문자열 (0) | 2020.02.27 |
[부스트코스]웹 프로그래밍 15. JS 기초(1)-자료형 (0) | 2020.02.27 |
[부스트코스]웹 프로그래밍 15.0. 백엔드를 향하여 (0) | 2020.02.27 |