Không phải là một chức năng tại htmlbuttonelement onclick

lỗi cổ điển. Bạn cần cung cấp một chức năng, thay vì thực sự gọi chức năng đó. Chìa khóa ở đây là

onClick="App.validate()"

Bằng cách thêm

TypeError
5 sau khi xác thực, mã của bạn sẽ ngay lập tức gọi
TypeError
6 khi tải trang -- giá trị trả về của
TypeError
7 là giá trị thực sự được đặt là
TypeError
8. Nếu bạn thay đổi nó thành

onClick="App.validate"

thì bạn sẽ chuyển chính hàm đó thay vì giá trị trả về của nó

Chỉnh sửa. Điều đó nói rằng, bạn nên kiểm tra kỹ xem chức năng của bạn có thực sự tồn tại không. Hãy thử thêm một thẻ tập lệnh gọi hàm với một số đầu vào mẫu và sau đó ghi nhật ký


Nếu dòng đầu tiên in ra chức năng của bạn và dòng thứ hai hoạt động chính xác, thì bạn nên bắt đầu. Nếu không, thì chức năng không tồn tại ở nơi bạn nghĩ và bây giờ bạn biết nơi cần tìm tiếp theo trong quy trình gỡ lỗi của mình

Lỗi Javascript

TypeError
9 xảy ra khi có nỗ lực gọi một hàm trên một giá trị hoặc đối tượng không thực sự là một hàm

Thông báo lỗi

TypeError: "x" is not a function

Loại lỗi

TypeError

 

Nguyên nhân gây ra TypeError. "x" không phải là một chức năng

Một

TypeError
9 trong Javascript thường xảy ra ở một trong các trường hợp sau

  • Một lỗi đánh máy trong một lệnh gọi hàm
  • Thiếu thư viện tập lệnh
  • Khi một chức năng được gọi trên một thuộc tính không thực sự là một chức năng
  • Một
    TypeError
    9 xảy ra khi một hàm được gọi trên một đối tượng không chứa hàm được gọi
  • Khi gọi một hàm tích hợp mong đợi một đối số hàm gọi lại không tồn tại
  • Khi hàm được gọi nằm trong phạm vi không thể truy cập được

 

LoạiLỗi. "x" không phải là một chức năng Ví dụ

1. đánh máy

Một kịch bản điển hình cho sự cố

TypeError
9 xảy ra là khi có lỗi đánh máy trong tên hàm được gọi

var elem = document.getElementByID('ID');

Chạy đoạn mã trên dẫn đến lỗi Javascript sau

TypeError: document.getElementByID is not a function

Tên hàm chính xác là

TypeError
3

________số 8

2. Đối tượng không chứa chức năng

Một nguyên nhân phổ biến khác của

TypeError
9 là khi một hàm được gọi là một đối tượng không thực sự chứa hàm đó

var foo = {
   bar: function() {
      console.log("bar called");
   }
};
foo.baz();

Trong ví dụ trên, đối tượng

TypeError
5 chứa hàm
TypeError
6. Tuy nhiên, đoạn mã trên cố gắng gọi hàm
TypeError
7, mà hàm
TypeError
5 không chứa. Chạy đoạn mã trên dẫn đến
TypeError
9 sau

onClick="App.validate"
5

Nếu mã Javascript được sửa đổi để gọi đúng chức năng

TypeError
6

onClick="App.validate"
7

Đầu ra chính xác được tạo ra

onClick="App.validate"
8

 

Cách khắc phục Javascript TypeError. "x" không phải là một chức năng

TypeError
9 có thể được sửa bằng các gợi ý sau

  • Chú ý đến chi tiết trong mã và giảm thiểu lỗi chính tả
  • Nhập các thư viện tập lệnh chính xác và có liên quan được sử dụng trong mã
  • Đảm bảo thuộc tính được gọi của một đối tượng thực sự là một hàm
  • Đảm bảo các đối tượng chứa chức năng được gọi để tránh
    TypeError
    9
  • Đảm bảo các chức năng được chuyển vào dưới dạng cuộc gọi lại tồn tại
  • Đảm bảo các chức năng được gọi nằm trong phạm vi chính xác và có thể truy cập được

 

Theo dõi, phân tích và quản lý lỗi với Rollbar

Không phải là một chức năng tại htmlbuttonelement onclick

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

onClick="App.validate"
9

loại lỗi


01

Có 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
    
    
    04 hoặc
    
    
    06
    • 
      
      07,
      
      
      08,
      
      
      09,
      
      
      90,
      
      
      91,
      
      
      92,
      
      
      93,
      
      
      94
  • Khi làm việc với các đối tượng
    
    
    95 và
    
    
    96
    • 
      
      97 và
      
      
      98

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


0

Tên hàm chính xác là


99


9

Chứ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,


90 được sử dụng, sẽ chỉ hoạt động với các đối tượng

04

TypeError
3

Sử dụng một mảng thay thế

TypeError
4

Hà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

Không phải là một chức năng trong js chính?

Đây là lỗi JavaScript tiêu chuẩn khi cố gắng gọi một hàm trước khi nó được xác định . Lỗi này xảy ra nếu bạn cố thực thi một chức năng không được khởi tạo hoặc khởi tạo không chính xác. Điều này có nghĩa là biểu thức không trả về một đối tượng hàm.

Làm cách nào để gọi JavaScript trong nút html?

Chúng tôi sử dụng thuộc tính thuộc tính sự kiện onclick của nút HTML để gọi hàm JavaScript . Mã JavaScript được cung cấp trong thuộc tính onclick sẽ thực thi khi người dùng nhấp vào nút.

Không phải là một ý nghĩa chức năng?

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.