테스트 사이트 - 개발 중인 베타 버전입니다

자바스크립트 질문이요 채택완료

주니준이 4년 전 조회 2,059

        <script>

            for (var d = 1; d <= 6; d++) {

                console.log(d+"<br>");

                if (d == 5) {

                    

                  

                    

                    d = 2; 

                }

            }

        </script>

 

이거 코드는 잘못된 코드입니다.

의도는 d가 6까지 반복되다가 d가 5가되면   for (var d = 1; d <= 6; d++) {이부분에

초기값을 2로 시작하게끔 할려면 어떻게 해야하나요?

댓글을 작성하려면 로그인이 필요합니다.

답변 5개

채택된 답변
+20 포인트
s
4년 전

코드 소스를 보여주실수 없을가요?

안될리가 없겠는데...

저한테선 잘되고 있습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

s
4년 전

코드 소스를 보여주실수 없을가요?

안될리가 없겠는데...

저한테선 잘되고 있습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

주니준이
4년 전
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>

<script>
function callLoop() {

for (var d = 1; d <= 6; d++) {

console.log(d + "<br>");

if (d == 5) {

d = 2;

}

}

}
callLoop();
</script>
</body>
</html>
s
swallow
4년 전
그렇게 무한루프 함수를 직접 호출해주시면 페이지가 호출되지 않을것입니다.
호출시작에 무한루프에 빠져들테니까요.
페이지에 바턴하나 추가하시고 바턴 클릭할때 함수 호출되게 하시면 바라시는대로 될것입니다.
s
swallow
4년 전
그렇게 무한루프 함수를 직접 호출해주시면 페이지가 호출되지 않을것입니다.
호출시작에 무한루프에 빠져들테니까요.
페이지에 바턴하나 추가하시고 바턴 클릭할때 함수 호출되게 하시면 바라시는대로 될것입니다.
주니준이
4년 전
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button onclick=" callLoop()">버튼</button>
<script>
function callLoop() {

for (var d = 1; d <= 6; d++) {

console.log(d + "<br>");

if (d == 5) {

d = 2;

}

}

}



</script>
</body>
</html>

이것도 멈추어버려요

댓글을 작성하려면 로그인이 필요합니다.

s
4년 전

 

<script>

function callLoop(){     

     for (var d = 1; d <= 6; d++) {

          console.log(d+"<br>");

          if (d == 5) {   

                d = 2; 

          }

      }

}

</script>

이렇게 함수안에 넣어주시고 함수를 호출해주는게 맞는듯한데...

 

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

주니준이
4년 전
안돼요 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

s
4년 전

출력값이 어떤 형태로 나와야 하는가요?
그냥 d 만을 2로 바꾸어주면 무한 루프 걸리는거 맞습니다.
다음번 이함수 호출될때 d 초기값이 2로 되는것이 필요하다면 함수밖에 전역변수 하나 설정하고 그값을 d 가 받게하면 될것입니다. 그리고는 d가 5이 될때 그 전역변수가 2이되게 해주면 될것입니다.

어떤 결과를 바라시는지요...

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

주니준이
4년 전
위에 언급하시분 처럼 12345 -> 2345 -> 2345...... 이렇게 나오는게 맞습니다.
근데 저는 실행조차 안됩니다.

댓글을 작성하려면 로그인이 필요합니다.

코드는 맞습니다. 그런데 d가 5일때 2로 들어가기 때문에

 

12345 -> 2345 -> 2345...... 무한 루프 걸립니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

주니준이
4년 전
저 이거 실행조차도 안되는데 맞나요?
백번째개발
4년 전
무한 루프기 때문에 페이지가 멈춘것처럼 멈춰 있게됩니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인