2012-04-10 2 views
8

У меня есть время, пытаясь заставить его работать, Chrome продолжает отображать ошибку Syncax Uncaught, но, будучи новичком в javascript, я понятия не имею, где искать. Любая помощь или указатели будут оцененыJavascript - Uncaught SyntaxError: Неожиданный идентификатор

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

Обычно сообщение об ошибке сопровождается номером строки. Вы можете даже щелкнуть по нему, и он покажет вам, где именно находится ошибка. –

+1

Быстрый просмотр подсказывает, что вам не хватает ';' после 'result =" некоторой формы SUV ". Не уверен, что это проблема. –

+0

Я бы также изменил if-инструкцию на 'if ((fuel ==" petrol ") && (passengers ==" 2 ") && (aircon ==" yes ") && (передача ==" полуавтоматическая ")) '. О, и вам не хватает '=' в '(aircon =" yes ")', это должно быть '(aircon ==" yes ")' –

ответ

10

Здесь есть несколько проблем с JavaScript. Вы должны использовать инструмент: JSLint который является очень хорошим инструментом обеспечения качества JS, это подтвердит ваш JS и выявит очевидные проблемы. :)

Первое:

aircon = "yes" 

должно быть

aircon == "yes" 

вторых:

if result = "Lambourghini Aventador") 

должно быть

if (result == "Lambourghini Aventador") 

третьих

result = "some form of SUV" 

должен быть

result = "some form of SUV"; 

четвёртых

Воздержитесь от использования ==, вместо этого использовать JavaScript стандартный ===

Читайте почему here in this very good Stackoverflow post!

Удачи вам! :)

+6

Вы предлагаете JSLint и показываете '==' во всем своем ответе ? Теперь это иронично! : p –

+0

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

+3

PS, который должен быть «Lamborghini», а не «Lambourghini». – jarmod

Смежные вопросы