Hướng dẫn JS

JS TRANG CHỦ Giới thiệu JS JS Đến đâu Đầu ra JS Tuyên bố JS Cú pháp JS Bình luận JS Biến JS JS Hãy JS Const Toán tử JS Số học JS Chuyển nhượng JS Các loại dữ liệu JS Các hàm JS Đối tượng JS Sự kiện JS Chuỗi JS Phương thức chuỗi JS Tìm kiếm chuỗi JS Mẫu chuỗi JS Số JS Phương thức số JS Mảng JS Phương thức mảng JS Sắp xếp mảng JS Lặp lại mảng JS JS Array Const JS ngày Định dạng ngày JS Ngày lấy phương thức JS Phương pháp đặt ngày JS Toán JS JS ngẫu nhiên JS Booleans So sánh JS Điều kiện JS Chuyển đổi JS JS Loop cho JS Loop For In JS Loop For Of JS lặp trong khi JS Break JS lặp lại Bộ JS Bản đồ JS JS Typeof Chuyển đổi loại JS JS Bitwise JS RegExp Lỗi JS Phạm vi JS JS Hoists Chế độ nghiêm ngặt JS JS từ khóa này Hàm mũi tên JS Lớp JS JS JSON Gỡ lỗi JS Hướng dẫn kiểu JS Các phương pháp hay nhất về JS JS sai lầm Hiệu suất JS JS dành riêng từ

Phiên bản JS

Phiên bản JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge Lịch sử JS

Đối tượng JS

Định nghĩa đối tượng Thuộc tính đối tượng Phương thức đối tượng Hiển thị đối tượng Người truy cập đối tượng Trình tạo đối tượng Nguyên mẫu đối tượng Đối tượng lặp lại Bộ đối tượng Bản đồ đối tượng Tham chiếu đối tượng

Các hàm JS

Định nghĩa hàm Tham số chức năng Lời mời hàm Gọi hàm Áp dụng chức năng Chức năng đóng cửa

Lớp JS

Giới thiệu Lớp học Kế thừa giai cấp Lớp tĩnh

JS Async

Gọi lại JS JS không đồng bộ JS hứa JS Async / Await

JS HTML DOM

Giới thiệu DOM Phương thức DOM Tài liệu DOM Phần tử DOM DOM HTML Các biểu mẫu DOM DOM CSS Hoạt ảnh DOM Sự kiện DOM Trình xử lý sự kiện DOM Điều hướng DOM Nút DOM Bộ sưu tập DOM Danh sách nút DOM

BOM trình duyệt JS

Cửa sổ JS Màn hình JS Vị trí JS Lịch sử JS JS Navigator JS Popup Alert Thời gian JS JS Cookies

API web JS

Giới thiệu API Web API biểu mẫu web API lịch sử web API lưu trữ web API công nhân web API tìm nạp web API vị trí địa lý web

JS AJAX

Giới thiệu về AJAX AJAX XMLHttp Yêu cầu AJAX Phản hồi AJAX Tệp XML AJAX AJAX PHP AJAX ASP Cơ sở dữ liệu AJAX Ứng dụng AJAX Ví dụ về AJAX

JS JSON

Giới thiệu JSON Cú pháp JSON JSON so với XML Các loại dữ liệu JSON Phân tích cú pháp JSON JSON Stringify Đối tượng JSON Mảng JSON Máy chủ JSON JSON PHP HTML JSON JSON JSONP

JS so với jQuery

Bộ chọn jQuery jQuery HTML jQuery CSS jQuery DOM

Đồ họa JS

Đồ họa JS JS Canvas JS Plotly JS Chart.js JS Google Chart JS D3.js

Ví dụ về JS

Ví dụ về JS JS HTML DOM Đầu vào HTML JS Đối tượng HTML JS Sự kiện HTML JS Trình duyệt JS Trình chỉnh sửa JS Bài tập JS JS Quiz Chứng chỉ JS

Tham khảo JS

Đối tượng JavaScript Đối tượng DOM HTML


Số JavaScript


JavaScript chỉ có một loại số. Số có thể được viết với hoặc không có số thập phân.


Thí dụ

let x = 3.14;    // A number with decimals
let y = 3;       // A number without decimals

Các số cực lớn hoặc cực nhỏ có thể được viết bằng ký hiệu khoa học (số mũ):

Thí dụ

let x = 123e5;    // 12300000
let y = 123e-5;   // 0.00123


Số JavaScript luôn là Dấu phẩy động 64-bit

Không giống như nhiều ngôn ngữ lập trình khác, JavaScript không định nghĩa các loại số khác nhau, như số nguyên, ngắn, dài, dấu phẩy động, v.v.

Số JavaScript luôn được lưu trữ dưới dạng số dấu phẩy động có độ chính xác kép, tuân theo tiêu chuẩn IEEE 754 quốc tế.

Định dạng này lưu trữ các số trong 64 bit, trong đó số (phân số) được lưu trữ trong các bit 0 đến 51, số mũ ở các bit 52 đến 62 và dấu ở bit 63:

Giá trị (còn gọi là Phân số / Mantissa) Số mũ Ra hiệu
52 bit (0 - 51)  11 bit (52 - 62) 1 bit (63)

Độ chính xác số nguyên

Số nguyên (số không có dấu chấm hoặc số mũ) chính xác đến 15 chữ số.

Thí dụ

let x = 999999999999999;   // x will be 999999999999999
let y = 9999999999999999;  // y will be 10000000000000000

Số số thập phân tối đa là 17.

Độ chính xác nổi

Số học dấu phẩy động không phải lúc nào cũng chính xác 100%:

let x = 0.2 + 0.1;

Để giải quyết vấn đề trên, nó sẽ giúp nhân và chia:

let x = (0.2 * 10 + 0.1 * 10) / 10;


Thêm số và chuỗi

CẢNH BÁO !!

JavaScript sử dụng toán tử + cho cả phép cộng và phép nối.

Các con số được thêm vào. Các chuỗi được nối với nhau.

Nếu bạn thêm hai số, kết quả sẽ là một số:

Thí dụ

let x = 10;
let y = 20;
let z = x + y;

Nếu bạn thêm hai chuỗi, kết quả sẽ là một chuỗi nối:

Thí dụ

let x = "10";
let y = "20";
let z = x + y;

Nếu bạn thêm một số và một chuỗi, kết quả sẽ là một chuỗi nối:

Thí dụ

let x = 10;
let y = "20";
let z = x + y;

Nếu bạn thêm một chuỗi và một số, kết quả sẽ là một chuỗi nối:

Thí dụ

let x = "10";
let y = 20;
let z = x + y;

Một sai lầm phổ biến là mong đợi kết quả này là 30:

Thí dụ

let x = 10;
let y = 20;
let z = "The result is: " + x + y;

Một sai lầm phổ biến là mong đợi kết quả này là 102030:

Thí dụ

let x = 10;
let y = 20;
let z = "30";
let result = x + y + z;

Trình thông dịch JavaScript hoạt động từ trái sang phải.

10 + 20 đầu tiên được thêm vào vì x và y đều là số.

Khi đó 30 + "30" được nối vì z là một chuỗi.


Chuỗi số

Chuỗi JavaScript có thể có nội dung số:

let x = 100;         // x is a number

let y = "100";       // y is a string

JavaScript sẽ cố gắng chuyển đổi chuỗi thành số trong tất cả các phép toán số:

Điều này sẽ hoạt động:

let x = "100";
let y = "10";
let z = x / y;

Điều này cũng sẽ hoạt động:

let x = "100";
let y = "10";
let z = x * y;

Và điều này sẽ hoạt động:

let x = "100";
let y = "10";
let z = x - y;

Nhưng điều này sẽ không hoạt động:

let x = "100";
let y = "10";
let z = x + y;

Trong ví dụ cuối cùng, JavaScript sử dụng toán tử + để nối các chuỗi.


NaN - Không phải là số

NaNlà một từ dành riêng cho JavaScript chỉ ra rằng một số không phải là một số hợp pháp.

Cố gắng thực hiện số học với một chuỗi không phải là số sẽ dẫn đến NaN(Không phải là Số):

Thí dụ

let x = 100 / "Apple";

Tuy nhiên, nếu chuỗi chứa giá trị số, kết quả sẽ là một số:

Thí dụ

let x = 100 / "10";

Bạn có thể sử dụng hàm JavaScript toàn cục isNaN() để tìm hiểu xem giá trị có phải là số không:

Thí dụ

let x = 100 / "Apple";
isNaN(x);

Hãy coi chừng NaN. Nếu bạn sử dụng NaNtrong một phép toán, kết quả cũng sẽ là NaN:

Thí dụ

let x = NaN;
let y = 5;
let z = x + y;

Hoặc kết quả có thể là một nối như NaN5:

Thí dụ

let x = NaN;
let y = "5";
let z = x + y;

NaNlà một số: typeof NaNtrả về number:

Thí dụ

typeof NaN;

vô cực

Infinity(hoặc -Infinity) là giá trị JavaScript sẽ trả về nếu bạn tính một số bên ngoài số lớn nhất có thể.

Thí dụ

let myNumber = 2;
// Execute until Infinity
while (myNumber != Infinity) {
  myNumber = myNumber * myNumber;
}

Phép chia cho 0 (không) cũng tạo ra Infinity:

Thí dụ

let x =  2 / 0;
let y = -2 / 0;

Infinitylà một số: typeof Infinitytrả về number.

Thí dụ

typeof Infinity;

Hệ thập lục phân

JavaScript diễn giải các hằng số dưới dạng hệ thập lục phân nếu chúng đứng trước 0x.

Thí dụ

let x = 0xFF;

Không bao giờ viết một số có số 0 đứng đầu (như 07).
Một số phiên bản JavaScript giải thích các số là số bát phân nếu chúng được viết bằng số 0 ở đầu.

Theo mặc định, JavaScript hiển thị các số dưới dạng số thập phân cơ số 10 .

Nhưng bạn có thể sử dụng toString()phương pháp này để xuất các số từ cơ số 2 đến cơ số 36 .

Hệ thập lục phân là cơ số 16 . Số thập phân là cơ số 10 . Hệ bát phân là cơ số 8 . Nhị phân là cơ số 2 .

Thí dụ

let myNumber = 32;
myNumber.toString(10);
myNumber.toString(32);
myNumber.toString(16);
myNumber.toString(8);
myNumber.toString(2);

JavaScript Numbers as Objects

Thông thường các số trong JavaScript là các giá trị nguyên thủy được tạo ra từ các ký tự:

let x = 123;

Nhưng số cũng có thể được định nghĩa là các đối tượng với từ khóa new:

let y = new Number(123);

Thí dụ

let x = 123;
let y = new Number(123);

Không tạo đối tượng Số.

Từ newkhóa làm phức tạp mã và làm chậm tốc độ thực thi.

Đối tượng Số có thể tạo ra kết quả không mong đợi:

Khi sử dụng ==toán tử, x và y bằng nhau :

let x = 500;
let y = new Number(500);

Khi sử dụng ===toán tử, x và y không bằng nhau .

let x = 500;
let y = new Number(500);

Lưu ý sự khác biệt giữa (x==y)(x===y).

(x == y) đúng hay sai?

let x = new Number(500);
let y = new Number(500);

(x === y) đúng hay sai?

let x = new Number(500);
let y = new Number(500);

Comparing two JavaScript objects always returns false.

Complete JavaScript Number Reference

For a complete Number reference, visit our:

Complete JavaScript Number Reference.

The reference contains descriptions and examples of all Number properties and methods.