티스토리 뷰
함수란
데이터를 저장할 때 변수를 선언하여 저장한다. 변수에는 데이터만 저장할 수 있고, 코드는 저장할 수 없습니다.
하지만 함수를 사용하면 코드를 메모리에 저장했다가 필요할 때 마다 호출하여 사용할 수 있습니다.
선언적 함수
가장 기본적으로 사용하는 함수의 형태입니다.
기본적으로 함수는 함수 이름을 설정하고 함수이름을 호출해야 실행이 됩니다.
fuction 함수명(){
자바스크립트 코드;
}
함수명();
자바스크립트 코드;
}
함수명();
<script>
var count = 0;
myFnc(); // 함수 호출문이 먼저나와도 호이스팅 방식이 적용되어
// 정상적으로 함수를 호출합니다.
fuction myFnc(){
count++;
document.write("선언적 함수" + count, "<br>")
}
myFnc();
-결과화면-
선언적 함수1
선언적 함수2
<script>
익명 함수
익명 함수는 변수에 함수를 설정하는 방법입니다.
익명 함수는 함수에 이름이 없기 때문에 변수에 넣어서 사용하는 함수입니다.
변수에는 숫자, 문자도 들어갈 수 있지만 함수도 들어갈 수 있습니다.
let 변수명 = function(){{
자바스크립트 코드;
}
변수명();
자바스크립트 코드;
}
변수명();
<script>
var theFnc = fuction(){
document.write("익명함수 입니다.");
}
theFnc();
-결과 화면-
익명함수 입니다.
<script>
매개변수 함수
기본 함수 정의문은 함수 안에 있는 코드를 실행할 때 단순히 함수명으로 호출해서 코드를 실행했습니다. 즉 함수를 호출할 때 값을 전달할 수 없었습니다.
하지만 매개변수가 있는 함수 정의문은 함수를 호출할 때 전달하고자 하는 값을 입력하여 호출할 수 있습니다.
이렇게 전달된 값은 매개변수가 받아 함수 정의문에서 사용할 수 있게 됩니다.
function 함수명(매개변수1, 매개변수2,....매개변수n){
자바스크립트 코드;
}
함수명(매개변수1, 매개변수2,....매개변수n);
자바스크립트 코드;
}
함수명(매개변수1, 매개변수2,....매개변수n);
<script>
fuction myFnc(name, area) {
document.write("안녕하세요", name + "입니다.", "<br>");
document.write("사는곳은", area + "입니다.", "<br>");
}
myFnc("박서방", "서울");
myFnc("김서방", "부산");
-결과 화면
안녕하세요. 박서방입니다.
사는 곳은 서울입니다.
안녕하세요. 김서방입니다.
사는 곳은 부산입니다.
<script>
리턴값 함수
return문은 함수에서 결괏값을 반환할 때 사용합니다.
그리고 함수에서 return문이 실행되면 반복문의 break문과 비슷하게 코드가 강제 종료됩니다.
다시 말해 함수 정의문에 return문이 사용되면 함수를 호출했을 때 결괏값(data)를 반환합니다.
function 함수명(){
자바스크립트 코드1;
return 데이터(값);
자바스크립트 코드2;
}
var 변수 = 함수명(); 함수명(매개변수1, 매개변수2,....매개변수n);
자바스크립트 코드1;
return 데이터(값);
자바스크립트 코드2;
}
var 변수 = 함수명(); 함수명(매개변수1, 매개변수2,....매개변수n);
<script>
fuction testAvg(arrdata){
var sum = 0;
for(var i = 0; < arrData.length; i++) {
sum += Number(prompt(arrData[i]) + "점수는?", "0");
}
var avg = sum / arrData.length;
return avg;
}
var arrSubject = [ "국어", "수학"];
var result = testAvg(arrSubject);
document.write("평균 점수는" + result + "점입니다.");
<script>
-결과 화면-
국어점수 80
수학점수 70
평균점수는 75점입니다.
<script>
var num = 1;
function gallery(direct) {
if(direct) {
if(num == 8) return;
num++;
} else {
if(num == 1) return;
num--;
}
var imgTag = document.write.getElementByid("photo");
imgTag.setAttribute("src", "image/pic_" + num + ".jpg");
}
</script>
</head>
<body>
<div id="galleyZone">
<p><img src="images/pic_1" id="photo" alt = ""></p>
<p>
<button onclick="gallery(0)">이전</botton>
<button onclick="gallery(1)">이전</botton>
</p>
</div>
</body>
반응형
'Javascript' 카테고리의 다른 글
JavaScript 데이터 저장하기 배열 (0) | 2022.02.14 |
---|---|
JavaScript 데이터 저장하기 변수 / 상수 (0) | 2022.02.14 |
조건문 (0) | 2022.02.07 |
연산자 종류 (6) | 2022.02.07 |
반복문 for문과 while문 (17) | 2022.01.28 |
댓글
© 2022 babydevelop