Solve common JavaScript problems
Các liên kết dưới đây trỏ đến giải pháp cho những vấn đề phổ biến mà bạn có thể gặp phải khi viết JavaScript.
Những lỗi thường gặp của người mới bắt đầu
>Chính tả và kiểu chữ đúng
Nếu mã của bạn không hoạt động và/hoặc trình duyệt báo rằng có gì đó không xác định, hãy kiểm tra xem bạn đã viết đúng chính tả tất cả tên biến, tên hàm, v.v. chưa.
Một số hàm tích hợp phổ biến của trình duyệt thường gây ra lỗi là:
| Đúng | Sai |
|---|---|
getElementsByTagName() |
getElementByTagName() |
getElementsByName() |
getElementByName() |
getElementsByClassName() |
getElementByClassName() |
getElementById() |
getElementsById() |
Vị trí dấu chấm phẩy
Bạn cần đảm bảo rằng bạn không đặt dấu chấm phẩy ở vị trí không chính xác. Ví dụ:
| Đúng | Sai |
|---|---|
elem.style.color = 'red'; |
elem.style.color = 'red;' |
Hàm
Có một số điều có thể xảy ra lỗi với hàm.
Một trong những lỗi phổ biến nhất là khai báo hàm nhưng không gọi nó ở bất kỳ đâu. Ví dụ:
function myFunction() {
alert("This is my function.");
}
Đoạn mã này sẽ không làm gì trừ khi bạn gọi nó bằng câu lệnh sau:
myFunction();
Phạm vi hàm
Hãy nhớ rằng hàm có phạm vi riêng của chúng — bạn không thể truy cập một giá trị biến được đặt bên trong một hàm từ bên ngoài hàm, trừ khi bạn khai báo biến đó ở phạm vi toàn cục (tức là không nằm trong bất kỳ hàm nào), hoặc trả về giá trị từ hàm.
Chạy mã sau câu lệnh return
Hãy nhớ rằng khi bạn trả về từ một hàm, trình thông dịch JavaScript thoát khỏi hàm đó — không có mã nào sau câu lệnh return sẽ được thực thi.
Trên thực tế, một số trình duyệt (như Firefox) sẽ cho bạn thông báo lỗi trong bảng điều khiển nhà phát triển nếu bạn có mã sau câu lệnh return. Firefox hiển thị "unreachable code after return statement".
Ký hiệu đối tượng so với gán thông thường
Khi bạn gán thứ gì đó theo cách thông thường trong JavaScript, bạn sử dụng một dấu bằng, ví dụ:
const myNumber = 0;
Tuy nhiên, với Đối tượng, bạn cần chú ý sử dụng cú pháp đúng. Đối tượng phải được bao quanh bởi dấu ngoặc nhọn, tên thành viên phải được phân tách khỏi giá trị của chúng bằng dấu hai chấm, và các thành viên phải được phân tách bằng dấu phẩy. Ví dụ:
const myObject = {
name: "Chris",
age: 38,
};
Định nghĩa cơ bản
Các trường hợp sử dụng cơ bản
>Tổng quát
Biến
Toán học
- Những kiểu số nào bạn phải xử lý trong lập trình web?
- Làm thế nào để thực hiện toán học cơ bản trong JavaScript?
- Độ ưu tiên toán tử là gì, và nó được xử lý như thế nào trong JavaScript?
- Làm thế nào để tăng và giảm giá trị trong JavaScript?
- Làm thế nào để so sánh các giá trị trong JavaScript? (ví dụ: để xem cái nào lớn hơn, hoặc để kiểm tra xem một giá trị có bằng giá trị khác không).
Chuỗi
- Làm thế nào để tạo một chuỗi trong JavaScript?
- Bạn có phải sử dụng dấu ngoặc đơn hay dấu ngoặc kép không?
- Làm thế nào để ghép các chuỗi lại với nhau?
- Bạn có thể ghép chuỗi và số lại với nhau không?
- Làm thế nào để tìm độ dài của một chuỗi?
- Làm thế nào để tìm ký tự nằm ở một vị trí nhất định trong chuỗi?
- Làm thế nào để tìm và trích xuất một chuỗi con cụ thể từ một chuỗi?
- Làm thế nào để thay đổi kiểu chữ của một chuỗi?
- Làm thế nào để thay thế một chuỗi con cụ thể bằng một chuỗi khác?
Mảng
- Làm thế nào để tạo một mảng?
- Làm thế nào để truy cập và sửa đổi các phần tử trong mảng? (bao gồm cả mảng đa chiều)
- Làm thế nào để tìm độ dài của mảng?
- Làm thế nào để thêm phần tử vào mảng?
- Làm thế nào để xóa phần tử khỏi mảng?
- Làm thế nào để tách một chuỗi thành các phần tử mảng, hoặc ghép các phần tử mảng thành một chuỗi?
Gỡ lỗi JavaScript
- Các loại lỗi cơ bản là gì?
- Công cụ dành cho nhà phát triển của trình duyệt là gì, và làm thế nào để truy cập chúng?
- Làm thế nào để ghi một giá trị vào bảng điều khiển JavaScript?
- Làm thế nào để sử dụng điểm dừng và các tính năng gỡ lỗi JavaScript khác?
Để biết thêm thông tin về gỡ lỗi JavaScript, hãy xem Gỡ lỗi và xử lý lỗi JavaScript. Xem thêm Các lỗi thường gặp khác để biết mô tả về các lỗi thường gặp.
Ra quyết định trong mã
- Làm thế nào để thực thi các khối mã khác nhau, tùy thuộc vào giá trị của biến hoặc điều kiện khác?
- Làm thế nào để sử dụng câu lệnh if...else?
- Làm thế nào để lồng một khối quyết định bên trong khối quyết định khác?
- Làm thế nào để sử dụng các toán tử AND, OR và NOT trong JavaScript?
- Làm thế nào để xử lý thuận tiện một số lượng lớn lựa chọn cho một điều kiện?
- Làm thế nào để sử dụng toán tử ba ngôi để lựa chọn nhanh giữa hai tùy chọn dựa trên kiểm tra đúng hay sai?
Vòng lặp/Lặp đi lặp lại
Các trường hợp sử dụng trung cấp
>Hàm
- Làm thế nào để tìm các hàm trong trình duyệt?
- Sự khác biệt giữa hàm và phương thức là gì?
- Làm thế nào để tạo hàm của riêng bạn?
- Làm thế nào để chạy (gọi, hay kích hoạt) một hàm?
- Hàm ẩn danh là gì?
- Làm thế nào để chỉ định tham số (hoặc đối số) khi gọi hàm?
- Phạm vi hàm là gì?
- Giá trị trả về là gì, và làm thế nào để sử dụng chúng?
Đối tượng
- Làm thế nào để tạo một đối tượng?
- Ký hiệu dấu chấm là gì?
- Ký hiệu dấu ngoặc vuông là gì?
- Làm thế nào để lấy và thiết lập các phương thức và thuộc tính của một đối tượng?
thistrong ngữ cảnh của một đối tượng là gì?- Lập trình hướng đối tượng là gì?
- Hàm tạo và thể hiện là gì, và làm thế nào để tạo chúng?
JSON
Sự kiện
- Trình xử lý sự kiện là gì và làm thế nào để sử dụng chúng?
- Trình xử lý sự kiện nội tuyến là gì?
- Hàm
addEventListener()làm gì, và làm thế nào để sử dụng nó? - Đối tượng sự kiện là gì, và làm thế nào để sử dụng chúng?
- Làm thế nào để ngăn chặn hành vi sự kiện mặc định?
- Các sự kiện được kích hoạt như thế nào trên các phần tử lồng nhau? (lan truyền sự kiện, liên quan — bong bóng và thu bắt sự kiện)
- Ủy thác sự kiện là gì, và nó hoạt động như thế nào?