반응형

자바스크립트 개발 환경 Microsoft Visual Studio 2015 버전 HTML 기능 및 Chrome을 이용하고 있습니다.





for문을 다양하게 이용하는 방법에 대해 알아보자.


물론 C++와 Java와는 비슷하지만, 웹에서는 어떻게 이용되는지 간단히 알아보고자 한다.


for in 구문


C++에서 for(auto i in array) 구문과 같다.


차이점은 C++는 이터레이터를 참조하는데 여기서는 인덱스를 참조해버린다.


        for (let i in array)

            alert(i);


따라서 값을 출력하기 위해서는


        for (let i in array)

            alert(array[i]);


라고 명시해야 한다.



for( ; ; ) 구문


보통 언어에서 가장 많이쓰이는 구문이다.


인덱스를 기준으로 값을 확인할 수 있다.


        for (let i = 0; i < array.length; i++)

            alert(array[i]);




부가적으로 웹에서만의 기능을 이용하는 방법이 있다.


confirm이라는 메서드를 이용하여 계속할지 멈출지 정해줄 수 있다.


        for (let i = 0 ; ; i++)

        {

            alert(i + '번째 반복');


            if (!confirm('계속 하시겠습니까?'))

                break;

        }


숏코딩을 하면 다음과 같다.


        for (let i = 0 ; confirm('계속 하시겠습니까?') ; i++) 

            alert(i + '번째 반복');       
















1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE html>
<html>
<head>
    <title>test title</title>
    <script>
        var array = ['a''b''c''d''e'];
 
        // array는 이터레이터가 아닌 인덱스가 출력된다.
        alert('alert(i)');
        for (let i in array)
            alert(i);
 
        // 값을 출력하기 위해서는 array[i]로 해야한다.
        alert('alert(array[i]) - 1');
        for (let i in array)
            alert(array[i]);
 
        // 아니면 C처럼 i자체를 인덱스로 생각하기 위해 length를 이용
        alert('alert(array[i]) - 2');
        for (let i = 0; i < array.length; i++)
            alert(array[i]);
 
 
        alert('confirm 이용하기 - 1');
        for (let i = ; ; i++)
        {
            alert(i + '번째 반복');
 
            if (!confirm('계속 하시겠습니까?'))
                break;
        }
        alert('탈출');
 
        // for문의 조건속에 삽입이 가능하다.
        alert('confirm 이용하기 - 2');
        for (let i = confirm('계속 하시겠습니까?') ; i++
            alert(i + '번째 반복');        
        alert('탈출');
 
 
    </script>
</head>
 
</html>
 
//                                                       This source code Copyright belongs to Crocus
//                                                        If you want to see more? click here >>
Crocus








반응형