일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Java
- vscode
- JavaScript 이벤트
- VS Code
- IT잡학사전
- 개발자북클럽
- react
- while
- 메서드
- Today I Learned
- 개발자 번아웃
- til
- continue
- 이클립스 설치
- 제어문
- HTML
- JavaScript
- 리액트
- 노마드코더
- CREATE
- 자바스크립트
- break
- 버전 표시 방법
- MySQL
- 노개북
- 인스턴스
- return
- Kotlin
- If
- CSS
- Today
- Total
윤제니
JavaScript - 함수의 매개변수(Parameter), 전역변수, 지역변수 본문
매개 변수가 있는 함수의 형식
: 함수에 변수값이 전달되어 처리해야 하는 경우가 있는데, 이렇게 함수에 전달되는 변수 '매개변수'라 한다.
함수의 매개변수 값으로는 함수, 객체, 배열로 전달할 수 있다.
function 함수명(매개변수1, 매개변수2,...) {
실행문;
}
함수명(매개변수1 값, 매개변수2 값,...);
var 변수명 = function(매개변수1, 매개변수2,...) {
실행문;
}
변수명(매개변수1 값, 매개변수2 값,...);
예)
만약 name( )함수에서 "Jenny" 대신 다른 이름값들을 출력하고 싶다면 어떻게 해야할까?
"Jenny" 내용이 바뀔 때마다 함수를 수정해야 한다면 무척 번거로운 일이 될 것이다.
이런 경우에 매개변수를 이용하면 아주 유용하다.
위의 '선언적함수' => '익명함수' 와 '람다함수'의 형태로 바꿔보자
예) 매개변수값으로 객체, 배열도 전달 가능
매개 변수의 개수가 정해지지 않은 함수
: 매개 변수의 개수를 정할 수 없는 함수를 만들어야 하는 경우도 존재
이 경우 매개변수의 개수가 정해져 있지 않기 때문에 넘어오는 매개 변수값들을 저장할 수 있는 저장 장소가 필요
자바스크립트에서는 'arguments'라는 객체를 제공해 준다.
함수 안에서의 함수 호출
: 함수는 필요에 따라 함수 외부에 있는 다른 함수를 호출하여 사용할 수도 있고 함수 내부에 또 다른 함수를 만들어 호출할 수 있다.
1) 함수 외부의 함수(전역함수) 호출
: 다른 함수에서도 필요에 따라 언제든지 호출하여 사용 가능
toFixed( ) : 소수점을 매개 변수값을 자릿수만큼 반올림하여 문자로 만들어 준다.
2) 함수 내부의 함수(내부함수) 호출
: 전역함수와 달리 직접적으로 호출하여 사용 불가능
전역(Global) 변수와 지역(Local) 변수
변수 : 쓰임에 따라 함수 밖에서 정의될 수도 있고 함수 안에서 정의될 수도 있다.
전역변수 | 지역변수 |
var 변수명; function 함수명 {
}
|
function 함수명 { var 변수명;
} |
● 전역변수 : 함수 밖에서 정의된 변수
전역의 범의를 가지고 있어 함수 안과 밖에서 사용 가능
● 지역변수 : 함수 안에서 정의된 변수
함수 안에서만 실행하는 변수이기 때문에 함수가 실행될 때 생성되며 함수의 실행이 끝나면 사라지게 된다.
함수 밖에서 호출 불가능 , 함수가 실행될 때마다 변수값이 초기화 된다는 뜻 => 변수의 스코프(scope)
함수 안에서 'var'를 붙여 변수를 만들어야 '지역변수'가 되므로 지역변수를 만들 때 'var' 붙이는 것 기억!
예) 전역변수 num1 과 지역변수 num2의 차이
=> num2는 지역 변수이기 때문에 함수의 실행이 끝난 후 사라지므로 호출할 수가 없다.
그러므로 num2 변수값을 미출력
예) 변수의 이름이 같은 전역변수와 지역변수
=> 변수의 이름이 같지만 함수 밖의 변수 a는 전역변수 / 함수 안의 변수 a는 지역변수
[ a변수 호출 시 ]
- 함수 안에 a변수 찾고,
- 함수 안에 a변수 미존재시 함수 밖에서 a변수 찾기
예) 함수의 매개변수 또한 '지역변수' 이지만 함수 안에서 var를 쓰지 않아도 '전역변수'가 아닌 '지역변수'로 인식
'JavaScript > JavaScript' 카테고리의 다른 글
JavaScript - 객체(Object), 메서드, 내장객체 (0) | 2020.05.02 |
---|---|
JavaScript - 재귀함수, 내장함수 - number( ) / parseInt( ) / parseFloat( ), 특수값 (0) | 2020.05.02 |
JavaScript - 함수(Function), 선언적함수, 익명함수, 람다함수, return (0) | 2020.05.01 |
JavaScript - for문, break문, continue문 (0) | 2020.05.01 |
JavaScript 제어문 - switch문, while문, do~while문 (0) | 2020.05.01 |