HomeLập trìnhJavaScriptCâu hỏi về...

Câu hỏi về các biến đã khởi tạo và chưa khởi tạo trong JavaScript


Một biến không xác định hoàn toàn không tồn tại. Bạn chưa khai báo (hoặc khởi tạo nó).

Nếu tôi sử dụng từ var trước tên biến, thì biến đó được khai báo (xem bên dưới).

var myVariable;  // this variable is declared and is "defined"

Ngay cả khi tôi không đặt từ var trước tên biến, nhưng tôi gán giá trị cho nó, thì tôi đã khởi tạo biến. Xem dưới đây ví dụ.

anotherVariable = 50;

Bạn có thể giống như “Đợi đã, bạn không sử dụng từ khóa var, vậy nó được khai báo như thế nào? Chà, JavaScript giả sử bạn định khai báo nó, vì vậy nó là một var giả định ở phía trước. Trong ví dụ trên, otherVariable được “xác định” .

Sự nhầm lẫn có thể là trong việc sử dụng “không xác định” và không xác định. Còn nhớ ở một bài viết trước mình có nói là chỉ cần bạn khai báo một biến (tức là var myVariable 😉 thì JavaScript sẽ tự động gán giá trị là không xác định. Khi tôi nói được gán một giá trị không xác định, ý tôi không phải là một chuỗi ‘không xác định’, ý tôi thực sự là một giá trị thực của không xác định. không xác định là một trong những giá trị nguyên thủy của JavaScript. Một vài kiểu nguyên thủy khác là Số, Chuỗi và Boolean.

Vì vậy, hãy để tôi làm rõ điều gì đó tôi đã nói trong phần trả lời trước. Để trả lời một trong những câu hỏi của bạn, tôi đã nói “Không, biến không xác định là biến không tồn tại. Nó thậm chí còn chưa được công bố.” Tôi nên nói rằng một biến chưa được xác định (được khai báo hoặc khởi tạo) là một biến không tồn tại.

Đọc thêm  Cách xây dựng ứng dụng đặt chỗ sự kiện bằng HTML, CSS, JavaScript và Firebase

Tôi không thể tham chiếu một biến chưa được xác định. Vì vậy, nếu sau đây là mã duy nhất của tôi:

console.log(myVariable);

Điều này ở trên sẽ dẫn đến lỗi Tham chiếu sau:

ReferenceError: myVariable không được xác định

Nếu thay vào đó tôi sẽ có mã dưới đây:

var myVariable;
console.log(myVariable);

Tôi đã thấy không xác định được hiển thị trong bảng điều khiển. Tại sao? Bởi vì tôi đã khai báo myVariable nên nó được định nghĩa và đằng sau hậu trường, JavaScript đã gán giá trị không xác định cho myVariable.



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status