Kịch bản Javascript không hoạt động hoặc bị dừng (ngắt quãng) giữa chừng
Javascript Console của Browser (trình duyệt web) hiển thị dòng Error Log: Uncaught SyntaxError: Unexpected identifier
TÓM TẮT NỘI DUNG
Ý nghĩa lỗi
Trình duyệt web không thể xử lý câu lệnh (Statement) có chứa một Biến hoặc Hằng nằm sai vị trí, không mong muốn (unexpected).
Ví dụ:
var a = 10;
var b = 5;
var c = a b; // Trình duyệt web sẽ xem b trong câu lệnh này là một Unexpected identifier => báo lỗi. Đáng lẽ ra phải viết là var c = a + b; hay var c = a-b..
Nguyên nhân
- Lỗi đánh máy: Vì một lý do nào đó (mất tập trung, ẩu, chưa nắm vững cú pháp…) mà coder bỏ sót hoặc gõ dư các ký tự quan trọng như
+
,-
,*
,/
,"
… khiến trình duyệt không thể hiểu và xử lý được câu lệnh Javascript.
Cách khắc phục (fix)
Bước 1. Xác định vị trí câu lệnh bị lỗi
Khi gặp phải trường hợp lỗi này, đầu tiên, bạn cần xác định vị trí câu lệnh bị lỗi. Trên giao diện Javascript Console của trình duyệt, bạn click vào đường link (nằm bên phải) của dòng Error Log để trình duyệt tự chuyển đến vị trí câu lệnh bị lỗi.
Bước 2. Sửa lại câu lệnh bị lỗi đó
Ở đây, tuỳ trường hợp, mục đích, chức năng… mà bạn sửa câu lệnh bị lỗi theo nhiều cách khác nhau. Mình sẽ đưa ra một số ví dụ điển hình dưới đây:
Trước | Sau |
var c = a b; |
var c = a + b; |
var count = 1 count = count + 1; |
var count = 1; count = count + 1; |
sliders_row +="<td>' + this.id + '</td>"; |
sliders_row +="<td>" + this.id + "</td>"; |
function plus(ab){ console.log(a+b); } |
functionplus(a, b){ console.log(a+b); } |
function noi_chuoi(arr){ var result = ''; arr.forEach(function(item){ result item; }) } |
function noi_chuoi(arr){ |
Bước 3. Reload lại trang để kiểm tra
Sau khi đã sửa lại câu lệnh bị lỗi, ta reload lại trang để kiểm tra xem Javascript Console có còn báo lỗi (Error log).
Và chúng ta cũng đã đi qua mục cuối cùng trong bài hướng dẫn rồi. Nếu bạn có bất kỳ thắc mắc nào, hay không thực hiện được bước nào, hãy để lại bình luận bên dưới nhé. Nếu bạn cảm thấy bài viết hay và hữu ích, hãy để lại 1 like, share, đánh giá để ủng hộ đội ngũ biên tập của hoccode.org nhé!
Chúc các bạn thực hiện thành công!