Hướng dẫn what does it mean when it says javascript error? - nó có nghĩa là gì khi nó báo lỗi javascript?

JavaScript (JS) là một ngôn ngữ lập trình phổ biến, linh hoạt và phổ biến rộng rãi, mặc dù nó cũng dễ bị lỗi và lỗi khiến hầu hết các nhà phát triển cau mày và quái đản.

JS được sử dụng rộng rãi để cung cấp năng lượng cho sự tương tác của người dùng ở phía máy khách của hầu hết các ứng dụng web. Không có JavaScript, có lẽ mọi thứ trên web có thể vô hồn và không kích thích. Tuy nhiên, ngôn ngữ của dòng chảy và dòng chảy đôi khi khiến các nhà phát triển có mối quan hệ yêu-ghét với nó.

Các lỗi JavaScript gây ra các ứng dụng tạo ra kết quả không mong muốn và gây hại cho trải nghiệm người dùng. Một nghiên cứu của Đại học British Columbia (UBC) đã tìm cách tìm ra nguyên nhân gốc rễ và tác động của các lỗi và lỗi của JavaScript. Kết quả của nghiên cứu đã phát hiện ra một số mô hình phổ biến làm giảm hiệu suất của các chương trình JS.

Dưới đây là một biểu đồ hình tròn cho thấy những gì các nhà nghiên cứu phát hiện ra:

Hướng dẫn what does it mean when it says javascript error? - nó có nghĩa là gì khi nó báo lỗi javascript?

Trong bài đăng trên blog này, chúng tôi sẽ minh họa một số nguyên nhân phổ biến của các lỗi JavaScript được nêu trong nghiên cứu (cộng với những người khác mà chúng tôi gặp phải hàng ngày) và cách làm cho các ứng dụng của bạn ít bị lỗi.

Mô hình đối tượng tài liệu (DOM) đóng một vai trò quan trọng trong tính tương tác của các trang web. Giao diện DOM cho phép nội dung, kiểu dáng và cấu trúc của một trang web được thao tác. Làm cho các trang web HTML đơn giản tương tác hoặc thao túng DOM, là lý do tại sao ngôn ngữ lập trình JavaScript được phát hành.

Vì vậy, ngay cả với việc giới thiệu các công nghệ JavaScript phụ trợ như Node.js, làm việc với DOM vẫn tạo thành một phần lớn về những gì ngôn ngữ làm. Do đó, DOM là một con đường đáng kể để giới thiệu các lỗi và lỗi trong các ứng dụng JavaScript.

Nó không có gì ngạc nhiên khi nghiên cứu báo cáo lỗi JavaScript phát hiện ra rằng các vấn đề liên quan đến DOM chịu trách nhiệm cho hầu hết các lỗ hổng, ở mức 68%.

Ví dụ, một số lập trình viên JavaScript thường mắc lỗi khi tham chiếu một phần tử DOM trước khi nó được tải, dẫn đến lỗi mã.




        
    

Nếu mã trên được chạy trên trình duyệt Chrome, nó sẽ gây ra lỗi, có thể thấy trên bảng điều khiển nhà phát triển:

Hướng dẫn what does it mean when it says javascript error? - nó có nghĩa là gì khi nó báo lỗi javascript?

Lỗi được ném vì mã JavaScript thường được thực thi theo thứ tự nó xuất hiện trên một tài liệu. Như vậy, trình duyệt không biết về phần tử

được tham chiếu khi mã chạy.

Để giải quyết một vấn đề như vậy, bạn có thể sử dụng các phương pháp khác nhau. Phương pháp đơn giản nhất là đặt




     
0 trước khi bắt đầu thẻ tập lệnh. Bạn cũng có thể sử dụng thư viện JavaScript như JQuery để đảm bảo rằng DOM được tải trước khi có thể truy cập.




     

Syntax-based

Lỗi cú pháp diễn ra khi trình thông dịch JavaScript không thực thi mã không chính xác về mặt cú pháp. Nếu tạo một ứng dụng và trình thông dịch quan sát các mã thông báo không khớp với cú pháp tiêu chuẩn của ngôn ngữ lập trình JavaScript, nó sẽ gây ra lỗi. Theo nghiên cứu báo cáo lỗi của JavaScript, các lỗi như vậy chịu trách nhiệm cho 12% tất cả các lỗi trong ngôn ngữ.

Các sai lầm ngữ pháp, chẳng hạn như thiếu dấu ngoặc đơn hoặc dấu ngoặc chưa từng có, là nguyên nhân chính gây ra lỗi cú pháp trong JavaScript.

Ví dụ: khi bạn phải sử dụng các câu lệnh có điều kiện để giải quyết nhiều điều kiện, bạn có thể bỏ lỡ việc cung cấp dấu ngoặc đơn theo yêu cầu, dẫn đến sai sót của cú pháp.

Hãy cùng nhìn vào ví dụ sau.

if((x > y) && (y < 77) {
        //more code here
   }

Có, dấu ngoặc đơn cuối cùng của tuyên bố có điều kiện bị thiếu. Bạn có nhận thấy sai lầm với mã ở trên không?

Hãy để điều chỉnh nó.

if ((x > y) && (y < 77)) {
        //more code here
    }

Để tránh các lỗi cú pháp như vậy, bạn nên dành thời gian học các quy tắc ngữ pháp của ngôn ngữ lập trình JavaScript. Với thực tiễn mã hóa rộng rãi, bạn có thể phát hiện ra những sai lầm ngữ pháp một cách dễ dàng và tránh vận chuyển chúng với ứng dụng đã phát triển của bạn.

Sử dụng không đúng cách của các từ khóa không xác định/null

Một số nhà phát triển JavaScript không biết cách sử dụng các từ khóa không xác định và null một cách chính xác. Trên thực tế, nghiên cứu đã báo cáo rằng việc sử dụng không đúng cách các từ khóa chiếm 5% của tất cả các lỗi JavaScript.undefined and null keywords correctly. In fact, the study reported that improper usage of the keywords accounts for 5% of all JavaScript bugs.

Từ khóa null là một giá trị gán, thường được gán cho một biến để biểu thị một giá trị không tồn tại. Đáng ngạc nhiên, Null cũng là một đối tượng JavaScript.null keyword is an assignment value, which is usually assigned to a variable to denote a non-existent value. Surprisingly, null is also a JavaScript object.

Đây là một ví dụ:

var codeJS = null;

console.log(codeJS);
      //output is null

console.log(typeof codeJS);
     //output is object

Mặt khác, không xác định chỉ ra rằng một biến hoặc bất kỳ thuộc tính nào khác đã được khai báo, thiếu giá trị được gán. Nó cũng có thể ngụ ý rằng không có gì đã được tuyên bố. Không xác định là một loại của chính nó.undefined indicates that a variable or any other property, which has already been declared, lacks an assigned value. It can also imply that nothing has been declared. undefined is a type of itself.

Đây là một ví dụ:

var codeJS;

console.log(codeJS);
      //output is undefined

console.log(typeof codeJS);
     //output is undefined

Mặt khác, không xác định chỉ ra rằng một biến hoặc bất kỳ thuộc tính nào khác đã được khai báo, thiếu giá trị được gán. Nó cũng có thể ngụ ý rằng không có gì đã được tuyên bố. Không xác định là một loại của chính nó.null and undefined keywords, the latter does not regard them as equal.

console.log(null==undefined);
//output is true

console.log(null===undefined);
//output is false

Thật thú vị, nếu toán tử bình đẳng và toán tử nhận dạng được sử dụng để so sánh các từ khóa không xác định và không xác định, thì cái sau không coi chúng là như nhau.null and undefined keywords can help you in avoiding introducing bugs in your JavaScript programs.

Phương pháp không xác định

Một nguyên nhân phổ biến khác của các lỗi trong JavaScript là thực hiện cuộc gọi đến phương thức mà không cung cấp định nghĩa trước đó. Các nhà nghiên cứu của UBC phát hiện ra rằng sai lầm này dẫn đến 4% của tất cả các lỗi JavaScript.

Đây là một ví dụ:

var coder = {
      name: "Peter",
      age: 27,
      speak() {
      console.log(this.name);
  }
};
coder.speakNow();

Dưới đây là lỗi được nhìn thấy trên bảng điều khiển nhà phát triển Chrome:

Hướng dẫn what does it mean when it says javascript error? - nó có nghĩa là gì khi nó báo lỗi javascript?

Lỗi trên xảy ra do hàm được gọi là, speaknow (), chưa được xác định trong mã JavaScript.

Việc sử dụng không đúng câu lệnh trả về

Trong JavaScript, câu lệnh trả về được sử dụng để dừng việc chạy hàm để giá trị của nó có thể được xuất ra. Nếu được sử dụng sai, câu lệnh trả về có thể làm giảm hiệu suất tối ưu của các ứng dụng. Theo nghiên cứu, việc sử dụng không chính xác câu lệnh trả lại dẫn đến 2% tất cả các lỗi trong các ứng dụng JavaScript.return statement is used to stop the running of a function so that its value can be outputted. If used erroneously, the return statement can impair the optimal performance of applications. According to the study, incorrect usage of the return statement leads to 2% of all bugs in JavaScript applications.

Ví dụ, một số lập trình viên JavaScript thường mắc sai lầm khi phá vỡ câu lệnh trả về không chính xác.

Mặc dù bạn có thể phá vỡ câu lệnh JavaScript theo hai dòng và vẫn nhận được đầu ra cần thiết, việc phá vỡ câu lệnh trả về đang mời thảm họa vào ứng dụng của bạn.

Đây là một ví dụ:

function number(n) {
    var add = 5;
    return;
    n + add;
     }
console.log(number(10));

Dưới đây là lỗi được nhìn thấy trên bảng điều khiển nhà phát triển Chrome:

Hướng dẫn what does it mean when it says javascript error? - nó có nghĩa là gì khi nó báo lỗi javascript?

Lỗi trên xảy ra do hàm được gọi là, speaknow (), chưa được xác định trong mã JavaScript.return statements in your JavaScript code.

Việc sử dụng không đúng câu lệnh trả về

Trong JavaScript, câu lệnh trả về được sử dụng để dừng việc chạy hàm để giá trị của nó có thể được xuất ra. Nếu được sử dụng sai, câu lệnh trả về có thể làm giảm hiệu suất tối ưu của các ứng dụng. Theo nghiên cứu, việc sử dụng không chính xác câu lệnh trả lại dẫn đến 2% tất cả các lỗi trong các ứng dụng JavaScript.

Ví dụ, một số lập trình viên JavaScript thường mắc sai lầm khi phá vỡ câu lệnh trả về không chính xác.

Mặc dù bạn có thể phá vỡ câu lệnh JavaScript theo hai dòng và vẫn nhận được đầu ra cần thiết, việc phá vỡ câu lệnh trả về đang mời thảm họa vào ứng dụng của bạn.

Khi mã trên được chạy, một lỗi không xác định được nhìn thấy trên bảng điều khiển nhà phát triển Chrome:

Do đó, bạn nên từ bỏ việc phá vỡ các câu lệnh hoàn trả trong mã JavaScript của bạn.