2012-10-18 11 views
6

Mi sto insegnando a usare JavaScript in Code Academy e sto cercando di creare un codice semplice in modo che quando il prompt pone una domanda, la risposta dell'utente dà una risposta.Richiedi JavaScript se Altrove altro Token inaspettato altro

esempio.

Ma quando provo ad aggiungere diverse opzioni, ottengo Errore di sintassi: token imprevisto altro.

Ho provato a fare in modo che se ho fatto una domanda, la risposta ottiene una risposta, ma qualcos'altro ottiene una risposta.

Ecco il codice.

prompt("what do you want?"); 

if ("coke"); 
{console.log ("no coke, pepsi.")}; 
else 
console.log ("pepsi only.")}; 

Se qualcuno ha qualche idea, sarei molto grato!

risposta

9

Disclaimer: io non lavoro per la Coca Cola.

È necessario salvare il valore restituito di prompt se si desidera utilizzarlo in un secondo momento. Inoltre, si dispone di alcuni errori di sintassi che dovrebbero essere corretti:

var answer = prompt('what do you want?'); 

if (answer === 'coke') { 
    console.log('you said coke!'); 
} else { 
    console.log('why didn\'t you say coke!?'); 
} 

Si potrebbe anche usare un interruttore come si ottiene più casi:

var answer = prompt('what do you want?'); 

switch (answer) { 
    case 'coke': 
     console.log('you said coke!'); 
     break; 
    default: 
     console.log('why didn\'t you say coke!?'); 
     break; 
} 

o di un oggetto, come la maggior parte delle persone preferiscono questo per passare:

var answer = prompt('what do you want?'); 

var responses = { 
    coke: 'you said coke!', 
    defaultResponse: 'why didn\'t you say coke!?' 
}; 

console.log(responses[answer] || responses.defaultResponse); 
+1

+1 per il bel lavoro –

+0

Grazie, è stato davvero utile. – dansboxers

2

Rimuovere le virgole finali:

prompt("what do you want?"); 

if ("coke") { 
    console.log ("no coke, pepsi."); 
} else { 
    console.log ("pepsi only."); 
} 
5

Il se non ha bisogno di una virgola alla fine. Invece:

if ("coke") { 
    console.log ("no coke, pepsi."); 
} else { 
    console.log ("pepsi only."); 
} 
1

Hai un punto e virgola dopo la parentesi graffa. Prova:

var ans = prompt("what do you want?"); 

if (ans == "coke") { 
    console.log ("no coke, pepsi."); 
} else { 
    console.log ("pepsi only."); 
} 
2
var name = prompt("what do you want?"); 
if (name == "coke") 
{ 
console.log ("no coke, pepsi.") 
} 
else 
{ 
console.log ("pepsi only.") 
} 

Come sopra

0

in realtà non fare

if (ans == "whatever") { 
    console.log ("whatever"); 
} else { 
    console.log ("whatever."); 
} 

DO

if (ans == "whatever") { 
    confirm ("whatever"); 
} else { 
    confirm ("whatever."); 
} 
0

A variable deve essere identificato. Anche il bracketing e il punto e virgola tra le dichiarazioni "if" "else" sono problematici. Io non sono sicuro circa la console log, ma se volete un popup avviso provo questo:

var brand = prompt ('what do you want?'); 
if (brand="coke") { 
    alert ("no coke, pepsi.") 
}else { 
    alert ("pepsi only.") 
}; 

disclaimer: io sono alle prime armi nella migliore delle ipotesi, jut capitato di eseguire il debug di un problema simile. Spero che aiuti.