- 외부에서 함수 호출 시 함수에 전달할 데이터를 전달인자(Argument)라고 한다.
- 전달인자를 전달받아 함수에서 사용하기 위해서는 매개변수(Parameter)가 필요하다.
- 단, 자바스크립트에서 매개변수는 변수명만 지정하면 된다. (let, var등 선언 불필요)
- 외부에서 전달하는 데이터의 타입에 따라 변수 data의 타입이 결정된다.
- 만약 전달받은 데이터가 없을 경우 undefined값이 저장된다.
- 함수 선언부에 "함수명(매개변수명 = 기본값)" 형태로 지정하거나
함수 내에서 if문을 통해 undefined 값일 경우 기본값을 저장하는 코드를 추가한다.
ex1) function a(data = 0) {}
ex2) function a(data) {
if(data == undefined) {
data = 0;
}
}
<기본 문법>
function 함수명(매개변수...) {
// 함수 내에서 매개변수에 저장된 값 자유롭게 접근 가능
}
✍
<script type="text/javascript">
function hello(str){
document.write(str+ "의 타입은: " + typeof(str) + "<br>")
}
hello("안녕하세요");
</script>
💻
✍
<script type="text/javascript">
function num(num){
document.write("부모님께 용돈 " + num+ "원을 받았다. " + num + "의 타입은 " + typeof(num) + "<br>")
}
num(10000);
</script>
💻
✍전달인자가 2개인 경우
<script type="text/javascript">
function num(num){
document.write("부모님께 용돈 " + num+ "원을 받았다. " + num + "의 타입은 " + typeof(num) + "<br>")
}
num(10000, 20000);
</script>
- 전달인자가 2개이상인 경우에 오류는 발생하지 않는다. 앞에 있는 전달인자만 사용된다.
💻출력엔 이상이 없다.
✍전달인자를 적지 않은 경우
<script type="text/javascript">
function num(num){
document.write("부모님께 용돈 " + num+ "원을 받았다. " + num + "의 타입은 " + typeof(num) + "<br>")
}
num();
</script>
- 전달인자가 없어도 오류는 발생하지 않는다.
- 단, undefined 타입이 된다.
💻
'개발 > Javascript' 카테고리의 다른 글
[Javascript] 매개변수와 리턴 값이 있는 함수 (0) | 2023.01.14 |
---|---|
[Javascript] (0) | 2023.01.09 |
[Javascript] 리턴 값이 있는 함수 정의 (0) | 2023.01.08 |
[Javascript] 사용자 정의 함수 (0) | 2023.01.08 |
[Javascript] break, continue문 (0) | 2023.01.08 |