JAVASCRIPT/자바스크립트
JS. 즉시실행함수, 파라미터 함수
(*ᴗ͈ˬᴗ͈)ꕤ*.゚
2022. 3. 4. 12:32
개요
틀린 문제를 오답노트로 작성하다보니 너무 자세해졌다.
그래서 그냥 자바스크립트에 정리하기로 했다.
오답. 빈칸 채우기
{
(____빈칸____(){
document.write("함수가 실행되었습니다.");
})();
//출력
//함수가 실행되었습니다.
}
정답 : function
즉시 실행 함수를 아느냐 묻는 문제이다
사실 저 빈칸을 빈칸으로 둬도 즉시실행함수가 작동하긴 한다.
오답2. 빈칸 채우기
{
function func(__빈칸__ = "함수가 실행되었습니다."){
document.write(str);
}
func();
//출력
//함수가 실행되었습니다.
}
정답 : str
파라미터 함수를 아느냐고 묻는 문제이다
참조사이트
http://www.tcpschool.com/javascript/js_function_parameterArgument
파라미터란 매개변수라는 뜻으로
함수의 정의에서 전달받은 인수를 함수 내부로 전달하기 위해 사용하는 변수를 의미한다고 한다.
다음 예시를 보면 이해가 잘 될 것이다.
예시
1. 파라미터 함수를 정의한다.
function addNum(x, y, z) {
return x + y + z;
}
// x, y, z라는 3개의 매개변수를 가지는 함수 addNum()을 정의한다.(파라미터 함수)
2. 인수를 넣어본다.
addNum(1, 2, 3); // 인수로 1, 2, 3을 전달하여 함수를 호출함. -> 6
addNum(1, 2); // 인수로 1, 2을 전달하여 함수를 호출함. -> NaN
addNum(1); // 인수로 1을 전달하여 함수를 호출함. -> NaN
addNum(); // 인수로 아무것도 전달하지 않고 함수를 호출함. -> NaN
그렇다... 매개변수를 3개 정의했으면 3개를 다 넣어야 실행이 된다.
3개 이하로 넣으면 계산할 수 없다는 의미인 NaN을 반환한다.
3개 이하라 NaN이 반환되는 것을 막으려면 다음과 같은 것을 사용하면 된다.
3. 예외 처리
function addNum(x, y, z) {
if(x === undefined) // 함수 호출시 x에 해당하는 인수가 전달되지 않은 경우
x = 0; // 변수 x의 값을 undefined에서 0으로 변경함.
if(y === undefined) // 함수 호출시 y에 해당하는 인수가 전달되지 않은 경우
y = 0; // 변수 y의 값을 undefined에서 0으로 변경함.
if(z === undefined) // 함수 호출시 z에 해당하는 인수가 전달되지 않은 경우
z = 0; // 변수 z의 값을 undefined에서 0으로 변경함.
return x + y + z;
}
즉, 값이 없다면 0이라고 생각하자!라고 설정해주는 것이다.