2014-02-03 4 views
1

Я новичок в программировании на JavaScript, и мне нужна помощь! Я делаю небольшую программу, которая случайным образом выбирает число (1-4), а затем выводит инструкцию на основе номера. A = 1, 2 = B, 3 = C и 4 = D. Моя проблема в том, что с моими операциями if/else я хочу, чтобы оператор else ничего не делал. Как? (Извините, если это глупый вопрос, я новичок в JS) Код:Как вы делаете свое заявление еще ничего?

var randomGuess=Math.floor(Math.random()*4)+1); 
      if (randomGuess===1) { 
       document.write("Try A."); } 
       else { 
       return false } 
      if (randomGuess===2) { 
       document.write("Try B.") } 
       else { 
       return false } 
      if (randomGuess===3) { 
       document.write("Try C.") } 
       else { 
       return false } 
      if (randomGuess===4) { 
       document.write("Try D.") } 
       else { 
       return false } 
+4

Просто удалите 'else {return false}'. –

+0

Обратите внимание, что существует большое различие между 'else {}' и 'else {return false}' . Во втором случае функция остановится в сценарии else. – rafaelcastrocouto

ответ

6

if не нужен else всегда .. так что удалить его.

if(){ ...} 
if(){ ...} 
if(){ ...} 

это хорошо, но хорошие мальчики делают переключатель в этом случае. :)

switch работает лучше в такой ситуации

+0

Не совсем, коммутатор выполняет сравнение «==», тогда как здесь используется оператор '==='. –

0

Один из вариантов, чтобы оставить его пустым, вы можете инвертировать заявление, или другой альтернативы можно использовать elseif

Таким образом, вы можете использовать:

 if (randomGuess===1) { 
      document.write("Try A."); } 
     if (randomGuess===2) { 
      document.write("Try B.") } 
     if (randomGuess===3) { 
      document.write("Try C.") } 
     if (randomGuess===4) { 
      document.write("Try D.") } 

Или:

 if (randomGuess===1) { 
      document.write("Try A."); } 
     else if (randomGuess===2) { 
      document.write("Try B.") } 
     else if (randomGuess===3) { 
      document.write("Try C.") } 
     else if (randomGuess===4) { 
      document.write("Try D.") } 
0

Просто оставить из else заявление в целом.

2

Обычным делать ничего Постулаты является ; Одним из примеров может быть:

for (var i=0; i<100; i++); // iterates to 100 but does nothing 

С учетом сказанного, еще Заявление, если не является обязательным, так что если вам не нужно, не писать :

if (randomGuess===1) document.write("Try A."); 
if (randomGuess===2) document.write("Try B."); 
if (randomGuess===3) document.write("Try C."); 
2

Отвечая на вопрос, просто удалите else {} блок, но идти немного дальше, попробуйте использовать другие структуры, как elseif или переключателя(): http://www.javascriptkit.com/javatutors/switch.shtml

Важно, чтобы сделать работу программы, но если это легко читать гораздо лучше;)

0

Я вижу, у вас есть свой ответ. Я предлагаю вам использовать коммутатор в таких случаях. Сохраняет время выполнения.

switch(randomGuess) { 
     case 1: 
      document.write("Try A."); 
     case 2: 
      document.write("Try B."); 
     case 3: 
      document.write("Try C."); 
     case 4: 
      document.write("Try D."); 
     default: 
      /* return error*/ 
    } 
Смежные вопросы