2016-07-12 2 views
-2

작은 미니 게임을 만들고 있고, 스위치를 여러 개 넣어야하기 때문에이 게임을 만들 수 있도록 스위치를 몇 마디에 넣는 방법을 알아야합니다. 나는 그것이 완전히 쓰여지도록 노력했지만 영원히 걸리고 무엇이 무엇인지에 관해서는 매우 혼란 스럽다. 도와주세요!자바 스크립트에서 변수에 스위치를 넣는 방법은 무엇입니까?

EDIT : 죄송합니다. 영어로 다시 말하게하십시오. (기본값) 스위치를 다시 활성화합니다. 사람이 선택하는 방법은 프롬프트를 통해 이루어집니다. 그래서 내가 할 수 있다고 생각한 것은 스위치에 변수를 넣은 다음 스위치 내에서 그 변수를 사용하여 기본적으로 끝없는 것을 만듭니다. 다시 그들을 요청 기본 선택합니다. 여기

당신이! :

//this is the variable holding the switch 
    /*I I I I I*/ 
    /*V V V V V*/ 

    var switch1 = { 
    var choice = prompt("do you choose EXAMPLE or EXAMPLE").toUpperCase() 
    switch(choice) { 
     case 'EXAMPLE': 
      //this will repeat the whole prompt 
      switch1 
     break; 
     default: 
      //this will repeat it too 
      switch1 
     break; } 
    } 
가서 여기에 내가 1 분을 게시 할 예정 예입니다

그럼 어떻게하면 자바가 @ ajaysinghdav10d를 받아 들일 수 있을까요?

+0

아래의 업데이트 된 답변을 참조하십시오 – ajaysinghdav10d

답변

0

JavaScript에서는 switch 문을 중첩 할 수 있습니다.

서비스가 고객의 위치와 제품 선택을 반환하는이 더미 예제를 살펴보십시오. Choice와 Location의 조합을 바탕으로 가장 가까운 상점의 좌표를 반환하는 함수가 호출됩니다. 나는 중첩 된 switch 문 내에서 제어의 흐름을 설명하기 위해 더미 값 경우 지금 필요한 및 경고를 사용했다 : 새로운 컨텍스트를 기반

var choice = "CHO2"; /* call getChoice() function returning values from {CHO1, CHO2, ...}*/ 
var location = "LOC1"; /*call getLocality() function returning values from {LOC1, LOC2, ...}*/ 
switch (location) { 
    case "LOC1": 
     switch (choice) { 
      case "CHO1": 
       /* redirectToCHO1ofLOC1() is a function returning co-ordinates of the store*/ 
       alert("redirectToCHO1ofLOC1"); 
       break; 
      case "CHO2": 
       alert("redirectToCHO2ofLOC1"); 
       break; 
      default: 
       alert("redirectToRegret"); 
       break; 
     } 
     break; 
    case "LOC2": 
     switch (choice) { 
      case "CHO1": 
       /* redirectToCHO1ofLOC2() is a function returning co-ordinates of the store*/ 
       alert("redirectToCHO1ofLOC2"); 
       break; 
      case "CHO2": 
       alert("redirectToCHO1ofLOC2"); 
       redirectToCHO2ofLOC2(); 
       break; 
      default: 
       alert("redirectToRegret"); 
       break; 
     } 
     break; 
    default: 
     alert("redirectToRegret"); 
     break; 

} 

업데이트 대답은 : 당신은 그 문제에 대한 재귀를 사용해야합니다.

function recursiveSwitch() { 
    var choice = prompt("do you choose EXAMPLE or EXAMPLE").toUpperCase() 
    switch (choice) { 
     case 'EXAMPLE': 
      //this will repeat the whole prompt 
      recursiveSwitch(); 
      break; 
     default: 
      //this will repeat it too 
      recursiveSwitch(); 
      break; 
    } 
} 

지금 바로 무한 루프를 시작할 것입니다 어디에 이제까지 당신이 원하는에서 recursiveSwitch 함수를 호출 : 함수 내부에 스위치를 넣고 스위치의 경우 문에서 해당 함수를 호출, 이것 좀 봐주십시오.

+0

감사합니다. 또한 내가 발견 한 또 다른 방법 (내가 기억하지 못해 얼굴에 맞았을 때) while 루프를 사용하고 있습니다 .... 나는 Math.random과 if/else if 문을 스위치로 결합한 문제에 또 다른 질문을 올렸습니다. 롤 도움이 많이 주시면 감사하겠습니다. –

관련 문제