2012-04-10 17 views
8

Sto avendo un momento frustrante cercando di farlo funzionare, Chrome continua a mostrare un errore di sintassi Uncaught, ma essendo un principiante di javascript, non ho idea di dove cercare. Qualsiasi aiuto o puntatori sarebbe apprezzatoJavascript - Uncaught SyntaxError: identificatore imprevisto

function details(user) { 
     var fuel = prompt("Would you prefer petrol or diesel?"); 
     var passengers = prompt("How many passengers will there be?"); 
     var aircon = prompt("Do you require air-conditioning?"); 
     var transmission = prompt("Do you want a Manual, Semi-Automatic or Automatic Transmission?"); 
     var hire = prompt("How long would you like to hire a vehicle for? (Day Hire, Weekend Hire or Weekly Hire)"); 

     if (fuel == "petrol" && passengers == "2" && aircon = "yes" && transmission == "semi-automatic") { 
     result = "Lambourghini Aventador"; 
    } else { 
     result = "some form of SUV" 
    } 
     if result = "Lambourghini Aventador") { 

     if (hire == "Day hire") { 
     cost = 2000; 
    } 
     if (hire == "Weekend hire") { 
     cost = 3800; 
    } 
     if (hire == "Weekly hire") { 
     cost = 12000; 
    } 
} 
} 
+2

Generalmente il messaggio di errore è accompagnato da un numero di riga. Puoi anche cliccarci sopra e ti mostrerà esattamente dove si trova l'errore. –

+1

Una rapida visione mi dice che ti manca un ';' dopo 'result =" qualche forma di SUV "'. Non sono sicuro se questo è il problema però. –

+0

Vorrei anche cambiare l'istruzione if per 'if ((fuel ==" petrol ") && (passenger ==" 2 ") && (aircon ==" yes ") && (transmission ==" semi-automatic ")) '. Oh, e ti manca un '=' in '(aircon =" yes ")', che dovrebbe essere '(aircon ==" yes ")' –

risposta

10

Ci sono alcuni problemi di codice JavaScript inserito qui. Dovresti usare lo strumento: JSLint che è un ottimo strumento di controllo qualità JS, questo convaliderà il tuo JS e indicherà problemi apparenti. :)

Primo:

aircon = "yes" 

dovrebbe essere

aircon == "yes" 

in secondo luogo:

if result = "Lambourghini Aventador") 

dovrebbe essere

if (result == "Lambourghini Aventador") 

in terzo luogo

result = "some form of SUV" 

dovrebbe essere

result = "some form of SUV"; 

quarto

ritornello di utilizzare == invece utilizzare il === JavaScript standard

Leggi perché here in this very good Stackoverflow post!

Buona fortuna! :)

+6

Tu proponi JSLint e mostri '==' su tutta la tua risposta ? Ora è ironico! : p –

+0

Sì, tuttavia lui/lei potrebbe voler usare == per qualunque motivo vogliano. Ho provato a seguire la sua convenzione di codifica, questo è il motivo. –

+3

PS che dovrebbe essere "Lamborghini" non "Lambourghini". – jarmod

Problemi correlati