JavaScript에서 올바르게 작동하지 않는 Switch 문

ssharma

다음 코드가 있습니다. 어떤 이유로 실행하고 싶지 않은 case 문 (Case '2'의 경우 두 번째)이 올바른 항목 (Case '4')과 함께 실행되고 있습니다. 온라인으로 읽은 후 대부분의 ppl은 "break"문을 추가하여 유사한 문제를 해결할 수 있었던 것으로 보입니다. 그러나 그것은 나를 위해 작동하지 않습니다. 아래의 출력은 내 브라우저에서 가져온 것입니다.

var chk = '4'

switch (chk) {
  case '4':
    var locations = [
      ["936001_STURGEON_BAY_MEYER", 44.8358, -87.3305, "LRA", 1],
      ["936087_SHADOW_LAKE", 45.2183, -88.5981, "LRA", 2],
      ["936136_PIG", 44.5925, -88.0808, "OMS", 3],
      ["936136_PIG", 44.5925, -88.0808, "OMS", 4]
    ];

    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 15,
      center: new google.maps.LatLng(locations[0][1], locations[0][2]),
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var infowindow = new google.maps.InfoWindow({
      maxWidth: 400000
    });
    var locations_all_cells1 = locations;
    var marker, i;

    for (i = 0; i < locations_all_cells1.length; i++) {
      var type1 = locations_all_cells1[i][3];

      switch (type1) {
        case "OMS":
          marker1 = new google.maps.Marker({
            position: new google.maps.LatLng(locations_all_cells1[i][1], locations_all_cells1[i][2]),
            map: map,
            icon: 'http://maps.google.com/mapfiles/ms/icons/green-dot.png'
          });
          google.maps.event.addListener(marker1, 'click', (function(marker1, i) {
            return function() {
              infowindow.setContent(locations_all_cells1[i][0]);
              infowindow.open(map, marker1);
            }
          })(marker1, i));
          break;

        case "LRA":
          marker2 = new google.maps.Marker({
            position: new google.maps.LatLng(locations_all_cells1[i][1], locations_all_cells1[i][2]),
            map: map,
            icon: 'http://maps.google.com/mapfiles/ms/icons/red-dot.png'
          });
          google.maps.event.addListener(marker2, 'click', (function(marker2, i) {
            return function() {
              infowindow.setContent(locations_all_cells1[i][0]);
              infowindow.open(map, marker2);
            }
          })(marker2, i));
          break;

        case "UPSAVE":
          marker3 = new google.maps.Marker({
            position: new google.maps.LatLng(locations_all_cells1[i][1], locations_all_cells1[i][2]),
            map: map,
            icon: 'http://maps.google.com/mapfiles/ms/icons/yellow-dot.png'
          });
          google.maps.event.addListener(marker3, 'click', (function(marker3, i) {
            return function() {
              infowindow.setContent(locations_all_cells1[i][0]);
              infowindow.open(map, marker3);
            }
          })(marker3, i));
      }
    }
    break;

  case '2':
    var locations = [
      ["936001_STURGEON_BAY_MEYER", 44.8358, -87.3305, "LRA", 1],
      ["936087_SHADOW_LAKE", 45.2183, -88.5981, "LRA", 2],
      ["936136_PIG", 44.5925, -88.0808, "OMS", 3],
      ["936136_PIG", 44.5925, -88.0808, "OMS", 4]
    ];

    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 15,
      center: new google.maps.LatLng(locations[0][1], locations[0][2]),
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var infowindow = new google.maps.InfoWindow({
      maxWidth: 400000
    });
    var locations_all_cells = ;
    var marker, i;

    for (i = 0; i < locations_all_cells.length; i++) {
      var type1 = locations_all_cells[i][3];
    }
    break;
    
  default:
    text = "Looking forward to the Weekend";
}
console.log(text);

오류 정보

여기에 이미지 설명 입력

ssharma

마침내 친구의 도움으로 내 문제를 해결했습니다. Javascript는 초기화되지 않은 case 문 내부의 변수를 좋아하지 않습니다. case 문 중 하나에서 이전에 일부 논리를 기반으로 값을 할당했던 변수를 사용했습니다. 이 case 문이 "true"로 평가되지 않았지만 내 프로그램에서 오류가 발생했습니다.

예를 들어 아래 코드에서 프로그램은 m이 "false"인 경우에도 b가 공백 / null 인 경우 n 및 m에 대해 오류가 발생합니다.

switch(expression) {
case n:
    break;
case m:
    Var a=b;
    break;
default:
    default code block
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Javascript에서 올바르게 작동하지 않는 if 문

분류에서Dev

Javascript setInterval if 문이 올바르게 작동하지 않음

분류에서Dev

Javascript 조건문이 올바르게 작동하지 않음

분류에서Dev

JavaScript If 문이 올바르게 작동하지 않음

분류에서Dev

자바 스크립트에서 작동하지 않는 switch 문

분류에서Dev

JavaScript의 조건부 및 for 루프에서 break 문이 올바르게 작동하지 않는 것 같습니다.

분류에서Dev

JavaScript가 HTML 본문에서는 올바르게 작동하지만 HTML 헤더의 JavaScript 파일로는 작동하지 않는 이유

분류에서Dev

If 문이 올바르게 작동하지 않는 jQuery 문제

분류에서Dev

C의 getopt ()가 if 문 후에 올바르게 작동하지 않습니다.

분류에서Dev

C switch 문을 올바르게 사용하는 방법

분류에서Dev

Gridview에서 올바르게 표시되지 않는 문자열

분류에서Dev

올바르게 작동하지 않는 표에서 셀 선택

분류에서Dev

Django-올바르게 작동하지 않는 새 줄에 문자열의 일부 추가

분류에서Dev

C 프로그래밍 언어 : if 문이 문자에서 올바르게 작동하지 않습니다.

분류에서Dev

문자열 하위가 올바르게 작동하지 않음

분류에서Dev

SetConsoleCursorPosition이 C에서 올바르게 작동하지 않음 : 문자가 임의의 위치에 인쇄 됨

분류에서Dev

Oracle Update 문이 올바르게 작동하지 않습니다.

분류에서Dev

Android if-else 문이 올바르게 작동하지 않음

분류에서Dev

If 문이 올바르게 작동하지 않습니다.

분류에서Dev

If 문이 올바르게 작동하지 않습니다.

분류에서Dev

이중 슬래시가 문자열 C #에서 올바르게 작동하지 않습니다.

분류에서Dev

preg_replace가 UTF-8 문자에서 올바르게 작동하지 않습니까?

분류에서Dev

클래스에서 작동하지 않는 Switch 문

분류에서Dev

MarkLogic에서 올바르게 분석되지 않은 문자열

분류에서Dev

배치에서 올바르게 작동하지 않습니까?

분류에서Dev

.select ()가 Chrome에서 올바르게 작동하지 않음

분류에서Dev

Drools가 Spring Boot에서 올바르게 작동하지 않음

분류에서Dev

if 문에서 상태를 올바르게 설정하는 방법

분류에서Dev

PHP에서 "문자열에서 발견"이 올바르게 작동하지 않는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    Javascript에서 올바르게 작동하지 않는 if 문

  2. 2

    Javascript setInterval if 문이 올바르게 작동하지 않음

  3. 3

    Javascript 조건문이 올바르게 작동하지 않음

  4. 4

    JavaScript If 문이 올바르게 작동하지 않음

  5. 5

    자바 스크립트에서 작동하지 않는 switch 문

  6. 6

    JavaScript의 조건부 및 for 루프에서 break 문이 올바르게 작동하지 않는 것 같습니다.

  7. 7

    JavaScript가 HTML 본문에서는 올바르게 작동하지만 HTML 헤더의 JavaScript 파일로는 작동하지 않는 이유

  8. 8

    If 문이 올바르게 작동하지 않는 jQuery 문제

  9. 9

    C의 getopt ()가 if 문 후에 올바르게 작동하지 않습니다.

  10. 10

    C switch 문을 올바르게 사용하는 방법

  11. 11

    Gridview에서 올바르게 표시되지 않는 문자열

  12. 12

    올바르게 작동하지 않는 표에서 셀 선택

  13. 13

    Django-올바르게 작동하지 않는 새 줄에 문자열의 일부 추가

  14. 14

    C 프로그래밍 언어 : if 문이 문자에서 올바르게 작동하지 않습니다.

  15. 15

    문자열 하위가 올바르게 작동하지 않음

  16. 16

    SetConsoleCursorPosition이 C에서 올바르게 작동하지 않음 : 문자가 임의의 위치에 인쇄 됨

  17. 17

    Oracle Update 문이 올바르게 작동하지 않습니다.

  18. 18

    Android if-else 문이 올바르게 작동하지 않음

  19. 19

    If 문이 올바르게 작동하지 않습니다.

  20. 20

    If 문이 올바르게 작동하지 않습니다.

  21. 21

    이중 슬래시가 문자열 C #에서 올바르게 작동하지 않습니다.

  22. 22

    preg_replace가 UTF-8 문자에서 올바르게 작동하지 않습니까?

  23. 23

    클래스에서 작동하지 않는 Switch 문

  24. 24

    MarkLogic에서 올바르게 분석되지 않은 문자열

  25. 25

    배치에서 올바르게 작동하지 않습니까?

  26. 26

    .select ()가 Chrome에서 올바르게 작동하지 않음

  27. 27

    Drools가 Spring Boot에서 올바르게 작동하지 않음

  28. 28

    if 문에서 상태를 올바르게 설정하는 방법

  29. 29

    PHP에서 "문자열에서 발견"이 올바르게 작동하지 않는 이유는 무엇입니까?

뜨겁다태그

보관