Tại sao chức năng javascript không được xác định?

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ại

function 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ếu

Khi 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ện

function 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ện

Ví 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
1

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
    const x = document.getElementByID['foo'];
    // TypeError: document.getElementByID is not a function
    
    4 hoặc
    const x = document.getElementByID['foo'];
    // TypeError: document.getElementByID is not a function
    
    6
    • const 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,
      function myFunction[event] {
          console.log[event];
      }
      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];
      }
      64
  • Khi làm việc với các đối tượng
    function myFunction[event] {
        console.log[event];
    }
    65 và
    function myFunction[event] {
        console.log[event];
    }
    66
    • function myFunction[event] {
          console.log[event];
      }
      67 và
      function myFunction[event] {
          console.log[event];
      }
      68

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];
}
69

function myFunction[event] {
    console.log[event];
}
6

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,

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
4

function myFunction[event] {
    console.log[event];
}
0

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

function myFunction[event] {
    console.log[event];
}
1

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

Tại sao chức năng JavaScript của tôi không được xác định?

Một biến chưa được gán giá trị là kiểu không xác định. Một phương thức hoặc câu lệnh cũng trả về không xác định nếu biến đang được đánh giá không có giá trị được gán. Hàm trả về giá trị không xác định nếu giá trị không được trả về .

Tại sao một chức năng không được xác định?

Một hàm không được xác định hoặc không được xác định nếu giá trị được nhập không nằm trong miền của nó . Chẳng hạn, tập xác định của hàm f[x]=√x f [ x ] = x là x≥0 x ≥ 0. Nhận giá trị của nó tại x=−2 là không thể vì nó không được xác định tại thời điểm này, i. e. , nó không thuộc miền của nó.

Làm cách nào để xử lý lỗi không được xác định trong JavaScript?

Biến ngoại lệ JavaScript này không được xác định xảy ra nếu có một biến không tồn tại được tham chiếu ở đâu đó. Nguyên nhân lỗi. Có một biến không tồn tại được tham chiếu ở đâu đó trong tập lệnh. Biến đó phải được khai báo hoặc đảm bảo biến đó có sẵn trong tập lệnh hoặc phạm vi hiện tại .

Điều đó có nghĩa là gì khi mã không được xác định?

không xác định. Nó hoạt động giống như khi chúng ta khai báo một biến trong code nhưng không gán giá trị trước khi in giá trị của biến. Nó hoạt động giống như khi chúng ta không khai báo biến và thử gọi biến đó

Chủ Đề