💡깨달음💡/Javascript
JS_반복문
과부하가즈아
2023. 8. 15. 14:18
반복문
for문
for(초기화한 변수값; 조건; 증감 표시){
수행할 명령
};
구성요소를 생략하는 것도 가능하다.
let i = 0; // i를 선언하고 값도 할당하였습니다.
for (; i < 3; i++) { // 'begin'이 필요하지 않기 때문에 생략하였습니다.
alert( i ); // 0, 1, 2
}
let i = 0;
for (; i < 3;) {
alert( i++ );
}
for (;;) {
// 끊임 없이 본문이 실행됩니다.
}
// for문의 구성요소를 생략할 때 주의할 점은
// 두 개의 ; 세미콜론을 꼭 넣어주어야 한다는 점이다.
// 하나라도 없으면 문법 에러가 발생한다.
인라인 변수 선언
지금까진 ‘카운터’ 변수 i를 반복문 안에서 선언하였다. 이런 방식을 ‘인라인’ 변수 선언이라고 부른다. 이렇게 선언한 변수는 반복문 안에서만 접근할 수 있다.
for (let i = 0; i < 3; i++) { alert(i); // 0, 1, 2 } alert(i); // Error: i is not defined
인라인 변수 선언 대신, 정의되어있는 변수를 사용할 수도 있다.
let i = 0; for (i = 0; i < 3; i++) { // 기존에 정의된 변수 사용 alert(i); // 0, 1, 2 } alert(i); // 3, 반복문 밖에서 선언한 변수이므로 사용할 수 있음
while문
while(조건){
수행할 명령
};
> 조건이 참일 동안 명령을 수행
do ~ while문
do{
수행할 명령
}while(조건);
> while의 조건과 관계없이, do의 명령을 무조건 실행부터 함(무조건 한 번 실행하고 while의 조건이 맞으면 실행, 아니면 X)
var i = 12;
do{
console.log(i);
i++;
}while(i < 10); // 12
💫반복문 내부의 return
반복문 내부에 `return` 문을 사용하는 것은 프로그래밍 언어에 따라 다를 수 있다. 일반적으로, `return` 문은 함수나 메서드 내에서 해당 함수를 호출한 곳으로 값을 반환하고 함수 실행을 종료하는 역할을 한다. 그러나 반복문 내부에서 `return` 문을 사용할 때 주의해야 할 몇 가지 사항이 있다.
1. 반복문 실행 중단: 반복문 내부에서 `return` 문을 사용하면 해당 반복문의 실행이 즉시 중단된다. 반복문의 나머지 부분은 실행되지 않고, 반복문을 포함한 함수나 메서드에서 바로 반환된다.
2. 반복문 루프 제어: 만약 반복문을 통해 어떤 값을 찾아야 하는 경우, `return` 문을 사용하여 값을 찾았을 때 즉시 반환하고 반복문을 종료할 수 있다.
3. 코드 가독성: 반복문 내에서 `return` 문을 사용하면 코드의 가독성이 저해될 수 있다. 코드 리뷰어나 다른 개발자들이 코드를 이해하기 어려울 수 있다. 반복문은 일반적으로 반복적인 작업을 나타내므로, 가능하다면 `return` 문 없이 반복문을 작성하는 것이 더 명확하고 이해하기 쉬울 수 있다.
4. 변수 범위: `return` 문을 사용하면 해당 변수의 범위(scope)가 반복문 외부까지 확장될 수 있다. 이로 인해 예상치 못한 변수 값 변경이 발생할 수 있다. 변수의 범위를 명확히 이해하고 사용하는 것이 중요하다.
어떤 상황에서는 반복문 내부에서 `return` 문을 사용하는 것이 적절할 수 있지만, 주의해서 사용해야 한다. 코드의 목적과 가독성을 고려하여 적절한 판단을 내리는 것이 중요하다.
소수 출력
function isPrime(n) {
var divisor = 2;
while (n > divisor) {
if (n % divisor === 0) {
return false;
} else {
divisor++;
}
}
return true;
}
// 매개변수 n이 소수라면 true를, 소수가 아니라면 false를 반환합니다.
function isPrime(n) {
var divisor = 2;
if(n ==1){
return false;
}
while (n > divisor) {
if (n % divisor === 0) {
return false;
} else {
divisor++;
}
}return true;
}
// 아래 부분은 채점을 위해 작성되었습니다. 수정하지 마세요.
for (var i = 1; i <= 10; i++) {
document.writeln(i, isPrime(i));
문자열 거꾸로 출력하기
function reverse(str){
var reverStr = "";
for (var i = str.length -1; i >= 0; i--){
reverStr = reverStr + str.charAt(i);
} return reverStr;
}
console.log(reverse('apple'));
구구단
for(var n = 2; n < 10; n++) {
for (var j = 1; j < 10 ; j++){
document.write(n+" x "+j+" = "+n*j, "<br>")
}
}
function timesTable(n) {
for (var i = 1; i < 10; i++) {
document.write(n+' x '+i+' = '+n * i, '<br>');
}
}
timesTable(2); // 2단만 출력
timesTable(3); // 3단만 출력
‘무한’ 반복문은 보통 while(true)를 써서 만든다. 무한 반복문은 여타 반복문과 마찬가지로 break 지시자를 사용해 멈출 수 있다.
현재 실행 중인 반복에서 더는 무언가를 하지 않고 다음 반복으로 넘어가고 싶다면 continue 지시자를 사용할 수 있다.
반복문 앞에 레이블을 붙이고, break/continue에 이 레이블을 함께 사용할 수 있다. 레이블은 중첩 반복문을 빠져나와 바깥의 반복문으로 갈 수 있게 해주는 유일한 방법이다.