Hướng dẫn common javascript mistakes
Chương này chỉ ra một vài các sai lầm thường gặp trong JavaScript. Show
Vô tình sử dụng các toán tử gánCác chương trình JavaScript có thể sinh ra các kết quả không ngờ tới nếu một lập trình viên vô tình sử sụng toán tử gán ( Câu lệnh
Khi bạn muốn so sánh thông thường
Dùng phép cộng và nối chuỗi một cách khó hiểu
Nối là về cộng các chuỗi. Trong JavaScript cả hai hành động đều dùng cùng toán tử Chính vì điều này, cộng một số với một số sẽ cho ra một kết quả khác biệt với cộng một số với một chuỗi.
Khi cộng hai biến, nó có thể khá khó khăn để dự đoán kết quả:
Hiểu nhầm các số thực
Tất cả các ngôn ngữ lập trình, bao gồm JavaScript, gặp khó khăn với việc lấy chính xác các giá trị dấu phẩy động.
ví dụ
Ngắt một chuỗi JavaScript
ví dụ 1
ví dụ 2
ví dụ 3
Đặt nhầm chỗ dấu chấm phẩy
Ngắt một câu lệnh Return
Chính vì điều này, hai ví dụ ở dưới sẽ trả về cùng một kết quả giống nhau: ví dụ 1
ví dụ 2
Chính vì điều này, ví dụ 3 cũng sẽ trả về cùng một kết quả:
ví dụ 4
Tại sao? bởi vì JavaScript tưởng ý
của bạn là: ví dụ 5
Giải thíchNếu một câu lệnh chưa hoàn thiện như thế này:
JavaScript sẽ cố để hoàn thiện nó bằng cách đọc dòng tiếp theo:
JavaScript sẽ đóng các câu lệnh return ở cuối dòng, bởi vì nó là một câu lệnh hoàn thiện. Không bao giờ ngắt một câu lệnh return. Truy cập mảng bằng các chỉ mục
Các mảng với chỉ mục được đặt tên được gọi là mảng liên kết (hoặc băm). Trong JavaScript không hỗ trợ các mảng với chỉ mục được đặt tên. Trong JavaScript, các mảng dùng các chỉ mục được đánh số: ví dụ
Nếu bạn sử dụng các chỉ mục đặt tên, khi truy cập một mảng, JavaScript sẽ định nghĩa lại mảng thành một đối tượng tiêu chuẩn. Sau việc định nghĩa lại tự động, các phương thức mảng và các thuộc tính sẽ cho ra undefined hoặc các kết quả sai: ví dụ
Kết thúc việc định nghĩa bằng dấu phẩy
ví dụ đối tượng:
ví dụ mảng:
IE 8 sẽ sập. JSON không cho phép dấu phẩy cuối cùng. JSON:
JSON:
Undefined không phải là Null
Trong việc thêm vào, đối tượng JavaScript rỗng có thể có giá trị Điều này có thể làm cho nó có đôi chút khó để kiểm tra nếu một đối tượng là rỗng. Bạn có thể kiểm trả nếu một đối tượng tồn tại bằng cách kiểm tra kiểu của nó có phải ví dụ
Không đúng:
Nhưng nó vẫn sẽ quăng một lỗi: Không đúng:
Đúng:
|