Người mới bắt đầu tuyệt đối ở đây. Tôi đã và đang sử dụng Codesandbox để xây dựng một số dự án, nhưng đối với tôi, tôi không thể tìm ra cách lấy tệp JS của mình để trỏ đến tệp HTML của mình. Tôi đã tước bỏ nó đến mức cần thiết tuyệt đối. không có vấn đề gì, tôi nhận được thông báo lỗi "tên chức năng không được xác định"
Tôi đã lược bỏ nó xuống mức cơ bản. chỉ số của tôi. tập tin js chứa.
function newAlert[] {
alert[‘xin chào. ’]
};
Tôi đã thử đặt các thẻ src script trong phần thân, trong phần đầu, nhưng không có gì. Nó có liên quan đến cách tôi xác định chức năng của mình không?
Javascript
function myFunction[event] {
console.log[event];
}
2 xảy ra khi tham chiếu đến một biến không tồn tại hoặc chưa được khởi tạo trong phạm vi hiện tạifunction myFunction[event] {
console.log[event];
}
3 thường xảy ra khi sử dụng trình xử lý sự kiện nếu tham số sự kiện không được khai báo hoặc khai báo không chính xác. Ví dụ: nếu trong sự kiện function myFunction[event] {
console.log[event];
}
4, trình xử lý không khai báo tham số sự kiện, lỗi này sẽ xuất hiện
Nguyên nhân gây ra Javascript ReferenceError. Sự kiện không được xác định
Javascript
function myFunction[event] {
console.log[event];
}
2 bị ném khi cố gắng tham chiếu một biến không tồn tại hoặc nằm ngoài phạm vi. Không xác định một biến hoặc tham số trước khi tham chiếu nó là một trong những nguyên nhân phổ biến nhất gây ra lỗi tham chiếuKhi sử dụng trình xử lý sự kiện trong Javascript, trình xử lý mong muốn một tham số được khai báo cho đối tượng sự kiện. Tham số này thường được đặt tên là
function myFunction[event] {
console.log[event];
}
6 hoặc function myFunction[event] {
console.log[event];
}
7. Nếu tham số này không được khai báo trong trình xử lý hoặc được khai báo không chính xác và được sử dụng sau này trong trình xử lý, thì function myFunction[event] {
console.log[event];
}
3 sẽ bị némĐối tượng Javascript
function myFunction[event] {
console.log[event];
}
9 có thuộc tính tên là function myFunction[event] {
console.log[event];
}
7, thuộc tính này chỉ được hỗ trợ bởi một số trình duyệt nhất định. Trong trường hợp một tham số sự kiện không được khai báo rõ ràng trong trình xử lý sự kiện, thuộc tính này có thể được sử dụng thay thế. Do đó, lỗi này chỉ xảy ra ở những trình duyệt không hỗ trợ function myFunction[event] {
console.log[event];
}
9. tài sản function myFunction[event] {
console.log[event];
}
7
Tham khảoLỗi. Sự kiện không được xác định Ví dụ
Đây là một ví dụ về Javascript
function myFunction[event] {
console.log[event];
}
3throw khi tham số sự kiện không được khai báo trong trình xử lý sự kiệnfunction myFunction[] {
console.log[event];
}
Trong ví dụ trên, tham số
function myFunction[event] {
console.log[event];
}
7 không được khai báo trong trình xử lý sự kiện function myFunction[event] {
console.log[event];
}
4 function myFunction[event] {
console.log[event];
}
6. Nếu mã này được chạy trong trình duyệt không hỗ trợ thuộc tính function myFunction[event] {
console.log[event];
}
7, thì function myFunction[event] {
console.log[event];
}
3 sẽ bị ném
Cách khắc phục ReferenceError. Sự kiện không được xác định
Javascript
function myFunction[event] {
console.log[event];
}
3 chỉ xảy ra trong các trình duyệt không hỗ trợ thuộc tính function myFunction[event] {
console.log[event];
}
7. Thuộc tính này không được dùng nữa và nên tránh trong mãThay vào đó, cách tốt nhất là sử dụng đối tượng
function myFunction[event] {
console.log[event];
}
21 được truyền vào các hàm xử lý sự kiện. Điều này có thể đạt được bằng cách khai báo tham số sự kiện trong các hàm xử lý sự kiệnVí dụ trước đó có thể được cập nhật để sửa lỗi bằng cách sử dụng phương pháp trên
function myFunction[event] {
console.log[event];
}
Ở đây, vì tham số
function myFunction[event] {
console.log[event];
}
7 được khai báo trong hàm xử lý sự kiện function myFunction[event] {
console.log[event];
}
6 nên đối tượng function myFunction[event] {
console.log[event];
}
7 có thể được sử dụng bình thường và tránh sử dụng function myFunction[event] {
console.log[event];
}
3
Theo dõi, phân tích và quản lý lỗi với Rollbar
Quản lý lỗi và ngoại lệ trong mã của bạn là một thách thức. Nó có thể làm cho việc triển khai mã sản xuất trở thành một trải nghiệm đáng sợ. Khả năng theo dõi, phân tích và quản lý lỗi trong thời gian thực có thể giúp bạn tiến hành một cách tự tin hơn. Rollbar tự động theo dõi và xử lý lỗi, giúp việc sửa lỗi JavaScript trở nên dễ dàng hơn bao giờ hết. Đăng ký hôm nay
Ngoại lệ JavaScript "không phải là một hàm" xảy ra khi có nỗ lực gọi một giá trị từ một hàm, nhưng giá trị đó không thực sự là một hàm
Thông điệp
TypeError: "x" is not a function. [V8-based & Firefox & Safari]
loại lỗi
const x = document.getElementByID['foo'];
// TypeError: document.getElementByID is not a function
1Có chuyện gì?
Nó đã cố gọi một giá trị từ một hàm, nhưng giá trị đó không thực sự là một hàm. Một số đoạn mã mong bạn cung cấp một chức năng, nhưng điều đó đã không xảy ra
Có lẽ có một lỗi đánh máy trong tên chức năng?
Có nhiều chức năng tích hợp cần chức năng [gọi lại]. Bạn sẽ phải cung cấp một hàm để các phương thức này hoạt động bình thường
- Khi làm việc với các đối tượng
4 hoặcconst x = document.getElementByID['foo']; // TypeError: document.getElementByID is not a function
6const x = document.getElementByID['foo']; // TypeError: document.getElementByID is not a function
7,const x = document.getElementByID['foo']; // TypeError: document.getElementByID is not a function
8,const x = document.getElementByID['foo']; // TypeError: document.getElementByID is not a function
9,const x = document.getElementByID['foo']; // TypeError: document.getElementByID is not a function
60,function myFunction[event] { console.log[event]; }
61,function myFunction[event] { console.log[event]; }
62,function myFunction[event] { console.log[event]; }
63,function myFunction[event] { console.log[event]; }
64function myFunction[event] { console.log[event]; }
- Khi làm việc với các đối tượng
65 vàfunction myFunction[event] { console.log[event]; }
66function myFunction[event] { console.log[event]; }
67 vàfunction myFunction[event] { console.log[event]; }
68function myFunction[event] { console.log[event]; }
ví dụ
Một lỗi đánh máy trong tên chức năng
Trong trường hợp này, điều xảy ra quá thường xuyên, có một lỗi đánh máy trong tên phương thức
const x = document.getElementByID['foo'];
// TypeError: document.getElementByID is not a function
Tên hàm chính xác là
function myFunction[event] {
console.log[event];
}
69function myFunction[event] {
console.log[event];
}
6Chức năng được gọi trên đối tượng sai
Đối với một số phương pháp nhất định, bạn phải cung cấp chức năng [gọi lại] và chức năng này sẽ chỉ hoạt động trên các đối tượng cụ thể. Trong ví dụ này,
function myFunction[event] {
console.log[event];
}
60 được sử dụng, sẽ chỉ hoạt động với các đối tượng const x = document.getElementByID['foo'];
// TypeError: document.getElementByID is not a function
4function myFunction[event] {
console.log[event];
}
0Sử dụng một mảng thay thế
function myFunction[event] {
console.log[event];
}
1Hàm chia sẻ tên với thuộc tính có sẵn
Đôi khi khi tạo một lớp, bạn có thể có một thuộc tính và một hàm trùng tên. Khi gọi hàm, trình biên dịch nghĩ rằng hàm không còn tồn tại