Tóm Tắt
Tổng hợp các hàm, hằng có thể sử dụng toàn cục trong lập trình JavaScript.
Các hằng mặc định trong JavaScript
Infinity
Infinity
là hằng đại diện cho số âm/dương vô cực. Giống như ký hiệu ∞ trong toán học vậy.
// Trong JS, một số chia cho 0 sẽ bằng Infinity var n = 10; n/10 == Infinity; // true;
NaN
NaN
(Not a Number) là hằng mang giá trị “không phải là số”. Tuy nhiên bạn không thể sử dụng hằng số này để kiểm tra một biến có phải là số hay không, chi tiết hãy xem ví dụ dưới.
// a được khai báo là một string, rõ ràng nó không phải là số. var a = "string"; // Tuy nhiên a không thể bằng NaN, bởi a và NaN hai giá trị khác nhau // NaN mang giá trị "không phải là số" chứ nó không đại diện cho các giá trị không phải là số // Js hại não vậy đó. a == NaN; // false;
undefined
undefined
là hằng đại diện cho một biến chưa được khai báo giá trị
var a; if (a === undefined) { console.log("a is undefined"); } else { console.log("a defined"); } /* Ouput: a is undefined */
Các hàm mặc định trong JavaScript
encodeURI()
encodeURI()
được sử dụng để mã hóa một URI.
Cú pháp: encodeURI(uri)
. Trong đó uri
chính là uri bạn cần mã hóa.
var uri = "my test.asp?name=ståle&car=saab"; var res = encodeURI(uri); console.log(res); // "my%20test.asp?name=st%C3%A5le&car=saab"
decodeURI()
decodeURI()
được sử dụng khi bạn cần giải mã một URI.
Cú pháp: decodeURI(uri)
. Trong đó uri
chính là uri cần giải mã.
var encodedUri = "my%20test.asp?name=st%C3%A5le&car=saab"; var decodedUri = decodeURI(encodedUri); console.log(decodedUri); // "my test.asp?name=ståle&car=saab"
encodeURIComponent()
encodeURIComponent()
được sử dụng khi bạn muốn mã hóa URI trở thành một phần của URI khác.
Cú pháp: encodeURIComponent(uri)
. Trong đó uri chính là uri cần mã hóa.
var uri = "https://w3schools.com/my test.asp?name=ståle&car=saab"; var res = encodeURIComponent(uri); console.log(res); // "https%3A%2F%2Fw3schools.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab"
decodeURIComponent()
decodeURIComponent()
được sử dụng khi bạn muốn giải mã một phần URI khác.
Cú pháp: decodeURIComponent(uri)
. Trong đó uri
chính là URI cần giải mã.
var encodedUri = "https%3A%2F%2Fw3schools.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab"; var decodedUri = decodeURIComponent(encodedUri); console.log(decodedUri); // "https://w3schools.com/my test.asp?name=ståle&car=saab"
Tìm hiểu về Sự khác biệt giữa encodeURI và encodeURIComponent trong JavaScript
escape()
escape()
đã không còn được sử dụng từ phiên bản JavaScript 1.5. Thay vào đó bạn hãy sử dụng encodeURI()
hoặc encodeURIComponent()
.
eval()
eval()
được sử dụng khi bạn muốn chạy một đoạn code JavaScript dưới dạng một string.
Cú pháp: eval(javaScriptString)
. Trong đó javaScriptString
chính là đoạn code JavaScript cần chạy.
var x = 10; var y = 20; var a = eval("x * y"); console.log(a); // 200
isFinite()
isFinite()
được sử dụng khi bạn muốn kiểm tra một số có phải là số hữu hạn hay không? Nếu là số hữu hạn sẽ trả về true
, ngược lại trả về false
.
Cú pháp: isFinite(value)
. Trong đó value
chính là giá trị cần kiểm tra.
isFinite(123); // true isFinite(-1.23); // true isFinite(5-2); // true isFinite(0); // true isFinite("123"); // true isFinite("Hello"); // false isFinite("2005/12/12"); // false isFinite(+Infinity); // false isFinite(-Infinity); // false isFinite(NaN); // false
isNaN()
isNaN()
được sử dụng khi bạn muốn kiểm tra một giá trị có phải là NaN
hay không? Nếu là NaN
(hoặc tương tự NaN
) sẽ trả về true
, ngược lại trả về false
.
Cú pháp: isNaN(value)
. Trong đó value
chính là giá trị cần kiểm tra.
isNaN(123); //false isNaN(-1.23); //false isNaN(5-2); //false isNaN(0); //false isNaN('123'); //false isNaN('Hello'); //true isNaN('2005/12/12'); //true isNaN(''); //false isNaN(true); //false isNaN(undefined); //true isNaN('NaN'); //true isNaN(NaN); //true isNaN(0 / 0); //true
Number()
Number()
được sử dụng khi bạn muốn ép một giá trị bất kỳ về dạng số. Nếu không ép được, sẽ trả về NaN
.
Cú pháp: Number(value)
. Trong đó value
chính là giá trị muốn ép về kiểu số.
Number(true); // 1 Number(false); // 0 Number(new Date()); // 1579531129765 (timestamp of now) Number("999"); // 999 Number("999 888"); // NaN
parseFloat()
parseFloat()
được sử dụng khi bạn muốn chuyển một chuỗi thành một số dấu phẩy động. Hàm sẽ chỉ chuyển được nếu chuỗi được bắt đầu bằng số (không tính các dấu khoảng cách như space, tab) và lấy ra số đầu tiên. Nếu không sẽ trả về NaN.
Cú pháp: parseFloat(string)
. Trong đó string
chính là chuỗi cần chuyển về số.
parseFloat("10"); // 10 parseFloat("10.00"); // 10 parseFloat("10.33"); // 10.33 parseFloat("34 45 66"); // 34 parseFloat(" 60 "); // 60 parseFloat("40 years"); // 40 parseFloat("He was 40"); // NaN
parseInt()
parseInt()
được sử dụng khi bạn muốn chuyển một chuỗi về dạng số nguyên. Hàm sẽ chỉ chuyển được nếu chuỗi được bắt đầu bằng số (không tính các dấu khoảng cách như space, tab) và lấy ra số đầu tiên. Nếu không sẽ trả về NaN.
Cú pháp: parseInt(string, radix)
. Trong đó:
string
: bắt buộc, là chuỗi cần ép về dạng số nguyên.radix
: không bắt buộc (một số từ 2 – 36) đại diện cho cơ số được sử dụng.
Nếu hàm parseInt()
để trống tham số radix
, thì cơ số sẽ được xác định dựa vào string
như sau:
- Nếu string bắt đầu với “0x” thì sẽ là cơ số 16.
- Nếu string bắt đầu với bất kỳ số nào sẽ là cơ số 10.
- Với một số trình duyệt cũ sử dụng phiên bản JavaScript cũ (cũ hơn ES5) thì string bắt đầu với “0” sẽ được coi là cơ số 8. Tuy nhiên các trình duyệt đó giờ không còn được dùng nữa.
parseInt("10"); // 10 parseInt("10.00"); // 10 parseInt("10.33"); // 10 parseInt("34 45 66"); // 34 parseInt(" 60 "); // 60 parseInt("40 years"); // 40 parseInt("He was 40"); // NaN parseInt("10", 10); // 10 parseInt("010"); // 10 parseInt("10", 8); // 8 parseInt("0x10"); // 16 parseInt("10", 16); // 16
String()
String()
được sử dụng khi bạn muốn ép một giá trị bất kỳ về dạng string
Cú pháp: String(object)
. Trong đó object
chính là đối tượng cần ép sang string.
var x1 = Boolean(0); var x2 = Boolean(1); var x3 = new Date(); var x4 = "12345"; var x5 = 12345; console.log(String(x1)); // 'false' console.log(String(x2)); // 'true' console.log(String(x3)); // 'Sat Feb 01 2020 02:36:44 GMT+0000 (Coordinated Universal Time)' console.log(String(x4)); // '12345' console.log(String(x5)); // '12345'
unescape()
unescape()
đã không còn được sử dụng từ phiên bản JavaScript 1.5. Thay vào đó bạn hãy sử dụng decodeURI()
hoặc decodeURIComponent()
.