Đôi khi, bạn có thể gặp lỗi hàm JavaScript không được xác định giống như sau
doAction[];
Uncaught ReferenceError: doAction is not defined
Uncaught ReferenceError: doAction is not defined
2 như trong trường hợp trên được tạo ra khi bạn gọi thứ gì đó không được định nghĩa trong JavaScript. Hãy để tôi chỉ cho bạn một số điều bạn có thể làm để sửa lỗiĐảm bảo chức năng được xác định bên trong tập lệnh của bạn
Một trong những lỗi nhỏ có thể gây ra lỗi đó là bạn chưa định nghĩa đúng hàm. Bạn cần xác định chức năng bằng cách sử dụng từ khóa
Uncaught ReferenceError: doAction is not defined
3function doAction[] {
// your function code here
}
Hoặc sử dụng cú pháp hàm mũi tên như sau
const doAction = [] => {
// your function code here
};
Xin lưu ý rằng các hàm được xác định thông qua các biểu thức hàm phải được xác định trước khi gọi. Biểu thức hàm là các hàm mà bạn đã xác định thông qua từ khóa biến như sau
var fnAction = function [] {};
// or
let fnAction = [] => {};
Từ đoạn mã ví dụ trên, biến
Uncaught ReferenceError: doAction is not defined
4 sẽ được nâng lên nhưng phần khai báo hàm thì không, vì vậy nó sẽ không được xác định như hình bên dưới________số 8_______
Xem thêm. Hành vi nâng JavaScript
Đó là lý do tại sao nên xác định hàm trước khi gọi nó.
Khi bạn đã định nghĩa hàm, hãy thử gọi nó ngay bên dưới phần khai báo để xem nó có hoạt động không
function doAction[] {
// your function code here
}
doAction[]; // test the function call
Nếu nó đang chạy mà không có bất kỳ lỗi nào, thì bạn có thể có một số dòng mã sau khi khai báo khiến tập lệnh bị trục trặc
Đảm bảo toàn bộ tập lệnh không có lỗi
Nếu bạn đang đặt chức năng vào tập lệnh và gọi nó từ thẻ HTML, bạn cần đảm bảo rằng toàn bộ tập lệnh không có lỗi hoặc chức năng sẽ không được tải
Ví dụ, hãy chú ý cách gọi thêm
Uncaught ReferenceError: doAction is not defined
5 ngay bên cạnh cuộc gọi Uncaught ReferenceError: doAction is not defined
6
Function not defined
Click me
document.getElementById["action"]]; // extra ']' here
function fnAction[]{
console.log["Executing action"];
}
Mặc dù không có lỗi trong mã
Uncaught ReferenceError: doAction is not defined
7, một lỗi trong bất kỳ phần nào của tập lệnh sẽ khiến trình duyệt bỏ qua phần còn lại của tập lệnh đó. Bạn cần sửa lỗi trước để trình duyệt có thể thực thi phần còn lại của mãMột cách để xem bạn có gặp lỗi nào không là chạy trang HTML và kiểm tra trên bảng điều khiển như sau
Lỗi JavaScript trên bảng điều khiển
Bạn có thể thấy
Uncaught ReferenceError: doAction is not defined
2 tự sửa khi bạn sửa lỗi JavaScript từ tập lệnh của mìnhĐảm bảo tập lệnh được tải trước cuộc gọi
Cuối cùng, lỗi chức năng không được xác định cũng có thể do gọi chức năng trước khi tập lệnh được tải vào trình duyệt. Giả sử bạn có một tệp JavaScript được tách ra khỏi tệp HTML của mình như sau
// script.js
function fnAction[] {
console.log["executing action"];
}
Sau đó, bạn tải tập lệnh vào tệp HTML của mình, nhưng bạn gọi hàm
Uncaught ReferenceError: doAction is not defined
4 trước khi tải tập lệnh như sau