
1. Xử lý Mã hóa URI (URL Encoding)
Khi bạn muốn gửi dữ liệu lên URL mà có chứa ký tự đặc biệt (như dấu cách, tiếng Việt có dấu, hoặc các ký tự `&`, `?`), bạn phải mã hóa chúng:
- `encodeURI()`: Mã hóa một chuỗi thành định dạng URI hợp lệ. Nó bỏ qua các ký tự có ý nghĩa trong URL như `/`, `:`, `?`, `&`.
- `encodeURIComponent()`: Mã hóa toàn bộ các ký tự đặc biệt. Thường dùng để mã hóa giá trị của một tham số (Param).
- `decodeURI()` / `decodeURIComponent()`: Giải mã ngược lại.
—
2. Các hàm chuyển đổi dữ liệu (Coercion)
- `Number()`: Chuyển đổi giá trị của một đối tượng thành một con số.
- `String()`: Chuyển đổi giá trị thành một chuỗi văn bản.
- `parseInt()` / `parseFloat()`: Phân tích chuỗi và trả về số nguyên hoặc số thực.
—
3. Các hằng số toàn cục đặc biệt
- `NaN`: Viết tắt của “Not-a-Number”. Thường xuất hiện khi bạn thực hiện phép tính toán học lỗi (Ví dụ: `10 / “abc”`).
- `Infinity` / `-Infinity`: Đại diện cho số dương vô cực hoặc âm vô cực.
- `undefined`: Giá trị mặc định của một biến khi chưa được gán giá trị.
—
4. Hàm eval() – “Con dao hai lưỡi”
`eval()` cho phép thực thi một chuỗi văn bản như thể nó là mã nguồn JavaScript.
let x = 10;
let y = 20;
let result = eval("x + y"); // Trả về 30
⚠️ Lưu ý quan trọng: Hạn chế tối đa việc sử dụng `eval()` vì nó gây ra lỗ hổng bảo mật nghiêm trọng nếu dữ liệu đầu vào đến từ người dùng.
—
5. Kiểm tra giá trị hợp lệ
- `isNaN()`: Trả về `true` nếu giá trị kiểm tra không phải là một con số hợp lệ.
- `isFinite()`: Kiểm tra xem một giá trị có phải là một số hữu hạn hợp lệ hay không.
—
Lời kết Tập 11
Hiểu rõ các hàm toàn cục giúp bạn xử lý dữ liệu đầu vào và giao tiếp URL một cách chính xác nhất. Trong Tập 12 – tập cuối cùng của Series Reference, chúng ta sẽ làm quen với “quái vật” RegExp (Regular Expressions).
Hẹn gặp lại các bạn!
Leave a comment