Trong bài viết này, chúng ta sẽ khám phá các biến toàn cục và cách sử dụng chúng trong JavaScript. Nhưng trước khi tiếp tục sử dụng chúng, hãy xem cách khai báo một biến
Một biến có thể được khai báo là biến toàn cục hoặc biến cục bộ. Mỗi biến có một phạm vi được liên kết với nó, nơi nó có thể được sử dụng. Chúng ta có thể khai báo một biến bằng cách sử dụng các từ khóa varvar, let và const. Trước ES6, chỉ có thể sử dụng từ khóa var để khai báo
Biến toàn cục có phạm vi toàn cầu và có thể được truy cập từ bất kỳ đâu trong chương trình hoặc ứng dụng. Các biến này được khai báo trong phần thân chính của mã nguồn và bên ngoài tất cả các hàm. Các biến này được phép sử dụng bởi mọi chức năng
Biến toàn cục được khai báo ở đầu khối [đầu chương trình]
Lưu ý - Nếu bạn gán giá trị cho một biến và quên khai báo biến đó, biến đó sẽ tự động được coi là biến toàn cục
ví dụ 1
Trong ví dụ dưới đây, chúng ta sẽ khai báo một biến toàn cục và xem nó có thể được truy cập bởi các hàm khác nhau hay không
# mục lục. html
Welcome To Tutorials Point
đầu ra
Chương trình trên sẽ tạo ra đầu ra sau
ví dụ 2
Trong ví dụ dưới đây, chúng tôi khai báo một biến toàn cục bằng cách sử dụng đối tượng cửa sổ bên trong một hàm và cố gắng truy cập biến này từ bên trong một hàm khác
Biến toàn cầu. Đây là những biến được định nghĩa trong phạm vi toàn cục i. e. bên ngoài các chức năng. Các biến này có phạm vi toàn cầu, vì vậy chúng có thể được truy cập trực tiếp bởi bất kỳ chức năng nào. Trong trường hợp các biến phạm vi toàn cầu, từ khóa mà chúng được khai báo không quan trọng, tất cả đều hoạt động giống nhau. Một biến được khai báo không có từ khóa cũng được coi là biến toàn cục mặc dù nó được khai báo trong hàm
Biến cục bộ. Khi bạn sử dụng JavaScript, các biến cục bộ là các biến được xác định trong các hàm. Chúng có phạm vi cục bộ, có nghĩa là chúng chỉ có thể được sử dụng trong các hàm xác định chúng. Truy cập chúng bên ngoài chức năng sẽ gây ra lỗi
Cách sử dụng biến
- Phạm vi của một biến hoặc hàm xác định mã nào có quyền truy cập vào nó
- Các biến được tạo bên trong một hàm là các biến cục bộ và các biến cục bộ và biến cục bộ chỉ có thể được gọi bằng mã bên trong hàm
- Các biến được tạo bên ngoài các hàm là các biến toàn cục và mã trong tất cả các hàm có quyền truy cập vào tất cả các biến toàn cục
- Nếu bạn quên viết mã từ khóa var trong khai báo biến, công cụ JavaScript sẽ giả định rằng biến đó là toàn cầu. Điều này có thể gây ra sự cố gỡ lỗi
- Nói chung, tốt hơn là chuyển các biến cục bộ từ hàm này sang hàm khác dưới dạng tham số hơn là sử dụng biến toàn cục. Điều đó sẽ làm cho mã của bạn dễ hiểu hơn với ít lỗi hơn
ví dụ 1. Trong ví dụ này, chúng ta sẽ khai báo các biến trong phạm vi toàn cục để chúng có thể được truy cập ở bất kỳ đâu trong chương trình
HTML
GeeksforGeeks
2
>
1>
4
>
1>
6
>
7>
8
"color: green"
2
1
"color: green"
7
3
"color: green"
7
5
"color: green"
7
7
"color: green"
7
9
"color: green"
7GeeksforGeeks
1GeeksforGeeks
2GeeksforGeeks
3
"color: green"
7GeeksforGeeks
5
đầu ra
Giải trình. Chúng ta có thể thấy rằng biến petName được khai báo trong phạm vi toàn cầu và dễ dàng truy cập bên trong các hàm. Ngoài ra, trái cây được khai báo bên trong hàm mà không có bất kỳ từ khóa nào nên nó được coi là toàn cầu và có thể truy cập được bên trong một hàm khác.
ví dụ 2. Trong ví dụ này, chúng tôi sẽ khai báo các biến trong phạm vi cục bộ và cố gắng truy cập chúng ở các phạm vi khác nhau
HTML
8
h1
47
đầu ra
Giải trình. Chúng ta có thể thấy rằng biến petName được khai báo trong phạm vi toàn cầu nhưng không được khởi tạo. Ngoài ra, các hàm đang truy cập vào biến bên trong, trong đó mỗi hàm có giá trị riêng cho biến petName
Sử dụng biến nào ở đâu
- Mặc dù việc sử dụng các biến toàn cục có vẻ dễ dàng hơn là truyền dữ liệu vào một hàm và trả về dữ liệu từ nó, nhưng các biến toàn cục thường gây ra vấn đề. Đó là bởi vì bất kỳ chức năng nào cũng có thể sửa đổi một biến toàn cục và rất dễ viết sai tên biến hoặc sửa đổi sai biến, đặc biệt là trong các ứng dụng lớn. Điều đó, đến lượt nó, có thể tạo ra các vấn đề gỡ lỗi
- Ngược lại, việc sử dụng các biến cục bộ làm giảm khả năng xung đột đặt tên. Chẳng hạn, hai hàm khác nhau có thể sử dụng cùng tên cho các biến cục bộ mà không gây xung đột. Tất nhiên, điều đó có nghĩa là ít lỗi và sự cố gỡ lỗi hơn. Sau đó, chỉ với một vài ngoại lệ, tất cả mã trong ứng dụng của bạn phải ở dạng hàm để tất cả các biến đều là cục bộ
- Nếu bạn viết sai tên của một biến mà bạn đã khai báo, nó sẽ được coi là một biến toàn cục mới. Lưu ý điều này, hãy nhớ bao gồm từ khóa khi bạn khai báo các biến mới và luôn khai báo một biến trước khi bạn đề cập đến biến đó trong mã của mình
Ghi chú. Sử dụng các biến cục bộ bất cứ khi nào có thể. Luôn sử dụng từ khóa var để khai báo một biến mới trước khi biến đó được nhắc đến bởi các câu lệnh khác