2016-12-21 5 views
0

「開始」に移動するには1を押すと開始されますが、「指示」も実行されます。 "Welcoe22222"と書かれた直後に "HAHAHAH"と表示されますが、 "開始"機能だけが必要です。JavaScriptを実行しているif文とelse文の両方

<script type="text/javascript"> 


alert("Welcome to the BattleShip Game!!!") 
name = prompt("What is your name: ") 
alert("Welcome "+name) 
option = prompt("1. Start Game \n \n 2. Instructions \n \n Select: ") 
if (option ==1) 
    start() 
else (option ==2) 
    instructions() 

function start() { 

    alert("Welcoe22222") 

} 

function instructions() { 

    alert("HAHAHAH") 

} 

</script> 
+3

これが理由です

あなたがエラーを取得します、 '他else. if you say(X == y)の後に括弧を持つことはできませんJS構文を完全に理解するまで、少なくともセミコロンを使うべきです。 – SLaks

+0

@SLaks私はセミコロンが嫌いですが、大括弧を意味するでしょうか? – TrojanByAccident

+1

@Saiid:いいえ。私はセミコロンを意味します(中括弧も役立ちますが)。 JS構文の仕組みを完全に理解するまでは、ASIに依存することはできません。 – SLaks

答えて

0

として自動セミコロン挿入を使用して解析され、私はないためだと思います紛らわしくなったり、チームメイトにあなたのコードを混乱させたりして、ブロック文を使用する方が良いです(将来、if文にもっと多くの行のコードを追加したいと思うかもしれません)。

Uncaught SyntaxError: Unexpected token {


はそれがあるべき:

if (option == 1) { 
    start(); 
} else if (option == 2) { 
    instructions() 
} 
4

elseの構文は完全に間違っています。

else ifが必要な場合は、それを記述する必要があります。

あなたのコードは

if (option == 1) { 
    start(); 
} else if (option == 2) { 
    instructions(); 
} 
0

まず同じように、あなたがif

else if (option == 2) 
// ^^ 

より良いblock statement { /* ... */ }を使用するように欠けている

if (option ==1) 
    start() 
else 
    (option ==2); 
instructions()