Tôi hiểu rằng đó là cú pháp tốt để sử dụng dấu chấm phẩy sau tất cả các câu lệnh trong Javascript, nhưng có ai biết tại sao if/else không yêu cầu chúng sau dấu ngoặc nhọn không?Tại sao dấu chấm phẩy không được sử dụng sau câu lệnh if/else?
Trả lời
- Dấu chấm phẩy được sử dụng để kết thúc ONE tuyên bố
{
và}
bắt đầu và kết thúc một nhóm các báo cáo
Về cơ bản, một if-else
phải được theo sau bởi một trong hai một tuyên bố hoặc một nhóm các câu lệnh.
if-else
tiếp theo một tuyên bố:
if (condition) statement;
if (condition); // followed by a statement (an empty statement)
if-else
tiếp theo là nhóm báo cáo:
if (condition) {
statement;
statement;
}
if (condition) {
// followed by a group of statements of zero length
}
if-else
phải kết thúc bằng ;
nếu nó được theo sau bởi một tuyên bố duy nhất. if-else
không kết thúc bằng số ;
khi được theo sau bởi một nhóm câu lệnh vì ;
được sử dụng để kết thúc một câu lệnh và không được sử dụng để kết thúc một nhóm câu lệnh.
hùng hồn đặt. – Orangepill
Tôi không đồng ý với "ngay cả khi người khác phải kết thúc bằng"; Bất kỳ câu lệnh nào trong javascript không cần phải kết thúc bằng; FYI. Không có quy tắc nghiêm ngặt như vậy. – Vineeth
Bất kỳ câu lệnh nào không bị chấm dứt theo ngữ cảnh (nghĩa là bằng dấu ngoặc nhọn) cần a; – Orangepill
Bởi vì chính các dấu ngoặc nhọn là các ký tự chấm dứt.
Các mã thông báo có kèm theo một khối câu lệnh ghép và thực chất bị chấm dứt. Nó giống như đặt dấu chấm ở cuối câu, nó báo hiệu cho trình phân tích cú pháp rằng ý nghĩ đã hoàn thành.
Trong khi hoàn toàn xấu xí, nó hợp lệ để bao bọc mọi câu lệnh trong {} và bỏ qua;
Nhưng bạn có thể bỏ qua; bằng cách gói trong {} – Orangepill
Chắc chắn không vượt qua js lint – FlavorScape
Câu trả lời thực sự là vì nhiều ngôn ngữ hiện đại đã sao chép cú pháp của chúng từ C, có thuộc tính này. JavaScript là một trong những ngôn ngữ này.
C cho phép khối tuyên bố
{ ... }
(mà không cần phải chấm dứt phẩy) được sử dụng khi tuyên bố có thể được sử dụng. Vì vậy, bạn có thể sử dụng các khối câu lệnh như sau đó- và các mệnh đề khác, không có dấu chấm phẩy.
Nếu bạn đặt một tuyên bố đơn trong mệnh đề sau đó hoặc khác, bạn sẽ cần phải chấm dứt bằng dấu chấm phẩy. Một lần nữa, cũng giống như trong C, với JavaScript thêm twist đó; là tùy chọn ở cuối dòng, nếu chèn nó sẽ không gây ra lỗi cú pháp.
- 1. Tại sao Java không hiển thị lỗi cho dấu chấm phẩy kép ở cuối câu lệnh?
- 2. Tại sao java nếu câu lệnh thất bại khi nó kết thúc bằng dấu chấm phẩy
- 3. Dấu chấm phẩy Perl ở cuối câu lệnh
- 4. Sử dụng dấu chấm phẩy bên timeit
- 5. Tại sao tôi nên sử dụng dấu chấm phẩy sau mỗi hàm trong javascript?
- 6. bằng cách sử dụng {} sau dấu chấm phẩy
- 7. tôi có nên đặt dấu chấm phẩy sau một câu lệnh PHP không?
- 8. Dấu chấm phẩy sau hàm
- 9. Tại sao #define không yêu cầu dấu chấm phẩy?
- 10. Khi nào tôi không nên sử dụng dấu chấm phẩy?
- 11. Nửa dấu chấm phẩy sau một trường hợp hợp lệ trong câu lệnh chuyển đổi PHP?
- 12. Dấu chấm phẩy Razor/JavaScript và dấu chấm phẩy
- 13. Tại sao không có loại dấu phẩy động không dấu?
- 14. Dấu tách câu lệnh JS có dấu phẩy
- 15. Biểu thức bảng chung, tại sao dấu chấm phẩy?
- 16. Ghép nối nhiều câu lệnh bằng dấu phẩy và dấu hai chấm
- 17. Ảnh hưởng của dấu chấm phẩy sau 'for' vòng lặp
- 18. Dấu chấm phẩy có bắt buộc trong câu lệnh javascript không?
- 19. Tại sao tôi cần dấu chấm phẩy sau các lần nhập này?
- 20. tại sao bao gồm các dòng không kết thúc bằng dấu chấm phẩy?
- 21. Tại sao cần sử dụng dấu chấm phẩy trước khi xác định hàm?
- 22. Dấu chấm phẩy trên jQuery
- 23. dấu chấm phẩy sau dấu ngoặc nhọn trong c + +
- 24. Dấu chấm phẩy trong C++?
- 25. Đối số dòng lệnh dấu chấm phẩy lỗi lỗi
- 26. Trong mục tiêu-C, dấu phẩy làm gì khi được sử dụng làm dấu phân tách câu lệnh?
- 27. Dấu chấm phẩy XCode sau khi tự động hoàn thành
- 28. Dấu chấm phẩy ở cuối các câu lệnh if và các hàm trong C
- 29. Tại sao csvwriter.writerow() đặt dấu phẩy sau mỗi ký tự?
- 30. chuỗi sang định dạng tiền tệ, không có dấu chấm câu (hoặc dấu phẩy)
'while {} do' và' for() {} 'cũng có thuộc tính này. –
Đây là về ngữ pháp ngôn ngữ. Bạn biết đó là gì, hãy tìm "Bảng sao kê" [ở đây] (http://www-archive.mozilla.org/js/language/grammar14.html). – acdcjunior
[Khi nào tôi nên sử dụng dấu chấm phẩy sau dấu ngoặc nhọn?] (Http://stackoverflow.com/questions/2717949/when-should-i-use-a-semicolon-after-curly-braces) –