Bản dịch này chưa hoàn thành. Xin hãy giúp dịch bài viết này từ tiếng Anh.

Thông điệp

SyntaxError: missing ; before statement

Kiểu lỗi

Lỗi cú pháp.

Sai ở đâu?

Bạn đang thiếu dấu (;) ở đâu đó. Câu lệnh JavaScript phải được kết thúc bằng một dấu "chấm phẩy". Một vài trong số đó được thêm tự động bởi tính năng automatic semicolon insertion (ASI), nhưng trong tình huống này bạn cần thêm thủ công để JavaScript có thể hiểu câu lệnh của bạn chính xác.

Tuy nhiên, thi thoảng lỗi này lại là kết quả của một vài lỗi khác, ví dụ như không kết thúc chuỗi ký tự một cách chính xác, hoặc sử dụng từ khoá var không đúng. Cũng có thể bạn đã thêm quá nhiều dấu ngoặc tròn ở đâu đó. Nếu bạn nhìn thấy lỗi này, trước hết hãy kiểm tra cẩn thận các lỗi cú pháp.

Ví dụ

Không kết thúc chuỗi

Lỗi này có thể xảy ra khi bạn quên kết thúc chuỗi, còn JavaScrip thì đang mong đợi điều ấy:

var foo = 'Tom's bar';
// SyntaxError: missing ; before statement

Bạn có thể sử dụng dấu nháy kép hoặc sử dụng dấu  \ cho những ký tự đặc biệt thế này:

var foo = "Tom's bar";
var foo = 'Tom\'s bar';

Khai báo thuộc tính với từ khoá var

Bạn KHÔNG THỂ khai báo thuộc tính của một đối tượng hoặc một mảng bằng từ khoá var:

var obj = {};
var obj.foo = 'hi'; // SyntaxError missing ; before statement

var array = [];
var array[0] = 'there'; // SyntaxError missing ; before statement

Thay vào đó, hãy cứ bỏ qua từ khoá var như thế này:

var obj = {};
obj.foo = 'hi';

var array = [];
array[0] = 'there';

Xem thêm:

Document Tags and Contributors

 Những người đóng góp cho trang này: thienvu18
 Cập nhật lần cuối bởi: thienvu18,