Làm cách nào để sửa lỗi tham chiếu javascript?

Lý do phổ biến nhất đằng sau lỗi "Uncaught ReferenceError. $ không được xác định" đang thực thi mã jQuery trước khi tệp thư viện jQuery được tải. Do đó, hãy đảm bảo rằng bạn chỉ đang thực thi mã jQuery sau khi tải xong tệp thư viện jQuery

Ngoài ra, nếu bạn đang bao gồm tệp thư viện jQuery động, hãy kiểm tra nguồn trang bằng công cụ dành cho nhà phát triển của trình duyệt để đảm bảo rằng nó được bao gồm chính xác và đúng chỗ

Hãy cùng xem ví dụ sau để hiểu cơ bản nó hoạt động như thế nào





jQuery - $ is not defined




    Test jQuery Code

Nếu bạn vẫn gặp phải lỗi này thì có thể có một số lý do khác, chẳng hạn như nếu bạn có một bản sao cục bộ của tệp thư viện jQuery, tệp đó có thể đã bị chỉnh sửa hoặc bị hỏng. Tải xuống bản sao mới của tệp thư viện jQuery từ trang web chính thức hoặc sử dụng liên kết CDN như chúng tôi đã sử dụng trong ví dụ trên

Tìm cách để cải thiện kỹ năng của bạn?

Làm cách nào để sửa lỗi tham chiếu javascript?

Cách khắc phục lỗi

Để sửa lỗi, chúng ta cần chuyển đổi thứ tự. Hãy chắc chắn rằng bạn bao gồm thư viện jQuery của mình như là điều đầu tiên trong ứng dụng của bạn và bạn chỉ tham khảo nó sau khi nó được tải

DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>jQuery - Uncaught ReferenceError: $ is not definedtitle>
    head>
    <body>
        <script src="https://code.jquery.com/jquery-3.6.0.min.js"
         integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
         crossorigin="anonymous">
        script>
        <script>
            $('button').click(() => {
                console.log('jQuery is ready')
            })
        script>
    body>
html>

Đã sao chép vào khay nhớ tạm. Sao chép

Lưu ý rằng bạn muốn tải tập lệnh là thứ cuối cùng trong cơ thể của mình hoặc sử dụng async hoặc defer

Chúng tôi cũng có thể thêm một kiểm tra đơn giản để xác minh xem jQuery đã có trên trang hoặc ghi chú chưa. Bằng cách này, bạn có thể đảm bảo rằng mã dành riêng cho jQuery của bạn sẽ chỉ chạy nếu jQuery thực sự hiện diện trên trang

if (typeof $ !== 'undefined') {
    // jQuery specific code goes here
}

Đã sao chép vào khay nhớ tạm. Sao chép

Bạn có thể sử dụng toán tử typeof để kiểm tra kiểu của một biến

Cuối cùng, bất cứ khi nào bạn làm việc với jQuery, hãy đảm bảo rằng bạn đợi sự kiện document.ready trước khi thực thi bất kỳ mã nào. Bạn có thể làm điều này theo cách sau

Lỗi này đơn giản có nghĩa là tồn tại một dòng như vậy trong mã báo cho trình biên dịch truy cập một biến hoặc một đối tượng không có địa chỉ hoặc vị trí bộ nhớ. Một kịch bản như vậy xảy ra khi biến tiêu điểm ở đây chưa được khởi tạo hoặc khai báo

Nếu biến không được khai báo, thì nó sẽ không chiếm vị trí hoặc địa chỉ bộ nhớ. Bằng câu lệnh này, có thể dễ dàng kết luận rằng “Lỗi tham chiếu – Biến không được xác định” xảy ra khi biến mà lập trình viên đang cố truy cập chưa được khai báo trước câu lệnh gây ra lỗi

Thông báo lỗi “Lỗi tham chiếu – Biến không được xác định”

Thoạt nhìn, thông báo lỗi của thông báo tham chiếu có vẻ rất khó khăn vì nó trông giống như thế này

Làm cách nào để sửa lỗi tham chiếu javascript?

Thông báo lỗi chứa khoảng 10 dòng khác nhau và tất cả các dòng này kể một câu chuyện khác nhau về lý do gây ra lỗi. Bây giờ, nếu lập trình viên truy cập vào các tệp được liên kết trong 10 dòng này và cố gắng tìm ra lỗi, anh ta sẽ thấy mình đang ở trong một mê cung

Phá vỡ thông báo lỗi của “Lỗi tham chiếu – Biến không được xác định”

Hãy xem ảnh chụp màn hình sau đây của cùng một thông báo lỗi đã được sử dụng trong phần trước

Làm cách nào để sửa lỗi tham chiếu javascript?



Hãy giải thích các đánh dấu được thực hiện trên ảnh chụp màn hình

  • 1. Đây là câu lệnh JavaScript đã gây ra lỗi
  • 2. Đây là biến mà trình biên dịch không thể tìm thấy tham chiếu
  • 3. Tên tệp và số dòng của câu lệnh gây ra lỗi
  • 4. Các tệp của môi trường dẫn đến lỗi (Bỏ qua những dòng này)

Sửa lỗi “Lỗi tham chiếu JavaScript – Biến không được xác định”

Cách khắc phục lỗi này khá đơn giản, bạn đi tới dòng đã được đề cập trong thông báo lỗi và sử dụng tên biến đã được khai báo trước câu lệnh đó. Để chứng minh điều này, lấy đoạn mã sau

functionaddNums ( num1, num2 ) {
returnnum1 + num2;
}
result = addNums(5 , 6);

console.log( kết quả );

Các dòng trên làm như sau

  • Tạo một hàm addNums trả về tổng của hai số được truyền bên trong các đối số của nó
  • Sử dụng hàm để tính tổng của 5 và 6, đồng thời lưu giá trị trả về vào biến kết quả
  • In kết quả bằng biến results

Thực thi mã tạo ra thông báo lỗi sau

Làm cách nào để sửa lỗi tham chiếu javascript?

Nó nói rằng biến "kết quả" không thể được tham chiếu và trỏ đến dòng số 6. Bây giờ, so sánh dòng 6 và dòng 4

kết quả = addNums (5 + 6); // Line Number 4

console.log( kết quả ); // Line number 6

Rõ ràng lỗi là do viết sai chính tả tên biến ở dòng số 6. Sửa lỗi chính tả của mã định danh có giá trị trả về của hàm thành

kết quả = addNums (5 + 6); // Line Number 4

console.log( kết quả ); // Line number 6

Sau đó, thực hiện chương trình và quan sát đầu ra sau

Làm cách nào để sửa lỗi tham chiếu javascript?

Đầu ra cho thấy chương trình hiện đang hoạt động mà không có bất kỳ lỗi nào

Phần kết luận

Lỗi tham chiếu JavaScript – Biến không được xác định đang cố truy cập một biến bằng cách sử dụng mã định danh chưa được khai báo trước câu lệnh đó. Điều này có thể do viết sai chính tả hoặc đơn giản là thiếu toàn bộ câu lệnh trong đó lập trình viên phải khai báo biến. Cách khắc phục là vào dòng số báo lỗi sửa tên biến hoặc khai báo biến trước câu lệnh đó

Làm cách nào để xóa lỗi tham chiếu 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 .

Lỗi tham chiếu JavaScript là gì?

Đối tượng ReferenceError đại diện cho một lỗi khi 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 được tham chiếu. ReferenceError is a serializable object, so it can be cloned with structuredClone() or copied between Workers using postMessage() .

Lỗi tham chiếu là gì?

#REF. lỗi hiển thị khi một công thức tham chiếu đến một ô không hợp lệ . Điều này xảy ra thường xuyên nhất khi các ô được tham chiếu bởi công thức bị xóa hoặc dán đè lên.

Tham chiếu có nghĩa là gì trong JavaScript?

Tham khảo JavaScript đóng vai trò như kho lưu trữ dữ kiện về ngôn ngữ JavaScript . Toàn bộ ngôn ngữ được mô tả chi tiết ở đây. Khi bạn viết mã JavaScript, bạn sẽ thường xuyên tham khảo các trang này (do đó, tiêu đề là "Tham khảo JavaScript").