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


JavaScript Const

Từ constkhóa đã được giới thiệu trong ES6 (2015) .

Không thể khai báo lại các biến được xác định với const.

constKhông thể gán lại các biến được xác định với .

Các biến được xác định với constcó Phạm vi khối.

Không thể được giao lại

Một constbiến không thể được chỉ định lại:

Thí dụ

const PI = 3.141592653589793;
PI = 3.14;      // This will give an error
PI = PI + 10;   // This will also give an error

Phải được chỉ định

Các biến JavaScript constphải được gán một giá trị khi chúng được khai báo:

Chính xác

const PI = 3.14159265359;

Không đúng

const PI;
PI = 3.14159265359;

Khi nào sử dụng JavaScript const?

Theo nguyên tắc chung, hãy luôn khai báo một biến với consttrừ khi bạn biết rằng giá trị sẽ thay đổi.

Sử dụng constkhi bạn khai báo:

  • Một mảng mới
  • Một đối tượng mới
  • Một chức năng mới
  • Một RegExp mới

Đối tượng và Mảng không đổi

Từ khóa constlà một chút sai lầm.

Nó không xác định một giá trị không đổi. Nó xác định một tham chiếu không đổi đến một giá trị.

Vì điều này bạn KHÔNG thể:

  • Gán lại một giá trị không đổi
  • Gán lại một mảng không đổi
  • Gán lại một đối tượng không đổi

    Nhưng bạn CÓ THỂ:

  • Thay đổi các phần tử của mảng hằng số
  • Thay đổi các thuộc tính của đối tượng hằng

Mảng cố định

Bạn có thể thay đổi các phần tử của một mảng không đổi:

Thí dụ

// You can create a constant array:
const cars = ["Saab", "Volvo", "BMW"];

// You can change an element:
cars[0] = "Toyota";

// You can add an element:
cars.push("Audi");

Nhưng bạn KHÔNG thể gán lại mảng:

Thí dụ

const cars = ["Saab", "Volvo", "BMW"];

cars = ["Toyota", "Volvo", "Audi"];    // ERROR

Đối tượng không đổi

Bạn có thể thay đổi các thuộc tính của một đối tượng hằng số:

Thí dụ

// You can create a const object:
const car = {type:"Fiat", model:"500", color:"white"};

// You can change a property:
car.color = "red";

// You can add a property:
car.owner = "Johnson";

Nhưng bạn KHÔNG thể gán lại đối tượng:

Thí dụ

const car = {type:"Fiat", model:"500", color:"white"};

car = {type:"Volvo", model:"EX60", color:"red"};    // ERROR

Hỗ trợ trình duyệt

Từ constkhóa không được hỗ trợ trong Internet Explorer 10 trở xuống.

Bảng sau xác định các phiên bản trình duyệt đầu tiên có hỗ trợ đầy đủ cho consttừ khóa:

Chrome 49 IE 11 / Edge Firefox 36 Safari 10 Opera 36
Mar, 2016 Oct, 2013 Feb, 2015 Sep, 2016 Mar, 2016


Phạm vi khối

Khai báo một biến với consttương tự như let khi nói đến Phạm vi khối .

Trong ví dụ này, x được khai báo trong khối không giống với x được khai báo bên ngoài khối:

Thí dụ

const x = 10;
// Here x is 10

{
const x = 2;
// Here x is 2
}

// Here x is 10

Bạn có thể tìm hiểu thêm về phạm vi khối trong chương Phạm vi JavaScript .


Khai báo lại

Khai báo lại một biến JavaScript varđược phép ở bất kỳ đâu trong chương trình:

Thí dụ

var x = 2;     // Allowed
var x = 3;     // Allowed
x = 4;         // Allowed

Không được phép khai báo lại một biến hiện có varhoặc let biến consttrong cùng một phạm vi:

Thí dụ

var x = 2;     // Allowed
const x = 2;   // Not allowed

{
let x = 2;     // Allowed
const x = 2;   // Not allowed
}

{
const x = 2;   // Allowed
const x = 2;   // Not allowed
}

Không được phép gán lại một biến hiện có const, trong cùng một phạm vi:

Thí dụ

const x = 2;     // Allowed
x = 2;           // Not allowed
var x = 2;       // Not allowed
let x = 2;       // Not allowed
const x = 2;     // Not allowed

{
  const x = 2;   // Allowed
  x = 2;         // Not allowed
  var x = 2;     // Not allowed
  let x = 2;     // Not allowed
  const x = 2;   // Not allowed
}

Khai báo lại một biến với const, trong một phạm vi khác hoặc trong một khối khác, được phép:

Thí dụ

const x = 2;       // Allowed

{
  const x = 3;   // Allowed
}

{
  const x = 4;   // Allowed
}

Const Hoists

Các biến được xác định bằng varđược nâng lên trên cùng và có thể được khởi tạo bất kỳ lúc nào.

Ý nghĩa: Bạn có thể sử dụng biến trước khi nó được khai báo:

Thí dụ

Điều này là OK:

carName = "Volvo";
var carName;

Nếu bạn muốn tìm hiểu thêm về hoists, hãy nghiên cứu chương JavaScript Hoisting .

Các biến được xác định với constcũng được đưa lên đầu, nhưng không được khởi tạo.

Ý nghĩa: Sử dụng một constbiến trước khi nó được khai báo sẽ dẫn đến ReferenceError:

Thí dụ

alert (carName);
const carName = "Volvo";