728x90
반응형
return 문은 함수에서 결과값을 반환할 때 사용되며, return문이 실행되면 코드가 강제로 종료됩니다.
function test(arrData){
var sum=0;
for(var i=0; i< arrData.length; i++){
sum += Number(prompt(arrData[i] + "점수는?", "0"));
}
var avg = sum / arrData.length;
return avg;
}
var arrSubject=["국어","수학"];
var result = test(arrSubject);
document.write("평균 점수는" + result + "점입니다.");
arrData.length가 국어,수학 총 2이기 때문에 arrData.length(2)만큼 반복문을 실행합니다.
결과화면 ↓
var num=1;
function gallery(direct){
if(direct){
if(num === 4)return;
num++;
}else{
if(num == 1)return;
num--;
}
var img = document.getElementById("photo");
img.setAttribute("src","img/img_"+num+".jpg");
}
<div id="photobox">
<p><img src="img/img_1.jpg" id="photo" style="width:300px; height:300px;"></p>
<p>
<button onclick="gallery(0)">이전</button>
<button onclick="gallery(1)">다음</button>
</p>
</div>
이전/다음 버튼을 눌러서 파일명 뒤에 숫자가 1씩 +또는 -되어 다음이미지, 이전이미지가 나옵니다.
재귀 함수 호출
함수 정의문 내에서 작성한 코드로 함수를 다시 호출하는 것을 재귀함수 호출이라고 합니다.
기본형은 아래와 같습니다.
재귀함수는 적용하여 1~10까지 값을 출력하는 문제입니다.
var num=0;
function test(){
num++;
document.write(num,"<br>");
if(num==10) return;
test();
}
test();
결과 값은 1~10까지 출력된 후 종료됩니다.
전역 변수와 지역 변수
전역 변수는 자바스크립트 어디에서는 사용할 수 있는 변수,지역 변수는 함수 스코프에서만 사용할 수 있는 변수입니다.
아래는 전역 변수와 지역 변수를 선언하는 기본형입니다.
var 변수명; //전역변수
functino 함수명(){
var 변수명;//지역변수
}
같은 이름의 함수가 만들었을 경우.
var num=100;
function menu(){
num += 100;
alert(num);
}
menu();
//a
function menu(){
alert(num);
}
//b
a함수는 제거되고 b함수만 호출됩니다. => 결과값 100이 출력됨
다음은 a함수와 b함수가 변수와 지역함수를 선언하고 충돌을 방지한 예문입니다.
(function(){
var num=100;
function menu(){
num += 100;
alert(num);
}
menu();
}());
//a
(function(){
function menu(){
alert(num);
}
}());
//b
a함수 결과값(200)이 정상적으로 출력되는 것을 확인할 수 있습니다.
728x90
반응형
'IT > JavaScript' 카테고리의 다른 글
[javaScript] 함수3 (2) | 2020.01.12 |
---|---|
[javaScript] 함수1 (0) | 2019.12.30 |
[javascript] 브라우저모델 BOM (0) | 2019.12.30 |
[javascript] - 내장객체(문자열) (0) | 2019.12.26 |
[javascript] - 내장객체(배열) (0) | 2019.12.25 |
댓글