2012-04-10 36 views
8

Tôi đang gặp khó khăn khi cố gắng làm việc này, Chrome tiếp tục hiển thị lỗi cú pháp không bắt buộc, nhưng là người mới bắt đầu sử dụng javascript, tôi không biết phải tìm đâu. Mọi trợ giúp hoặc con trỏ sẽ được đánh giá caoJavascript - Uncaught SyntaxError: Mã định danh không mong muốn

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

Thông thường, thông báo lỗi đi kèm với một số dòng. Bạn thậm chí có thể nhấp vào nó và nó sẽ cho bạn thấy chính xác vị trí của lỗi. –

+1

Chế độ xem nhanh cho tôi biết bạn đang thiếu ';' sau 'result =" một số dạng SUV "'. Không chắc chắn nếu đây là vấn đề mặc dù. –

+0

Tôi cũng sẽ thay đổi câu lệnh if thành 'if ((fuel ==" petrol ") && (hành khách ==" 2 ") && (aircon ==" yes ") && (transmission ==" bán tự động ")) '. Oh, và bạn đang thiếu một '=' trong '(aircon =" yes ")', điều đó cần phải là '(aircon ==" yes ")' –

Trả lời

10

Có một số vấn đề về javascript tại đây. Bạn nên sử dụng công cụ: JSLint là một công cụ đảm bảo chất lượng JS rất tốt, điều này sẽ xác thực JS của bạn và chỉ ra các vấn đề rõ ràng. :)

Đầu tiên:

aircon = "yes" 

nên

aircon == "yes" 

thứ hai:

if result = "Lambourghini Aventador") 

nên

if (result == "Lambourghini Aventador") 

thứ ba

result = "some form of SUV" 

nên

result = "some form of SUV"; 

thứ tư

điệp khúc từ việc sử dụng ==, thay vì sử dụng javascript chuẩn ===

đọc tại sao here in this very good Stackoverflow post!

Chúc may mắn! :)

+6

Bạn đề xuất JSLint và hiển thị '==' trên toàn bộ câu trả lời của bạn ? Bây giờ thật mỉa mai! : p –

+0

Vâng, tuy nhiên anh/cô ấy có thể muốn sử dụng == vì bất kỳ lý do gì họ muốn. Tôi đã cố gắng tuân theo quy ước mã hóa của anh/cô ấy, đó là lý do. –

+3

PS phải là "Lamborghini" chứ không phải "Lambourghini". – jarmod

Các vấn đề liên quan