Trong bài viết này, chúng ta sẽ tìm hiểu về phạm vi của JavaScript. Phạm vi quản lý tính khả dụng của các biến hoặc chúng ta cũng có thể nói rằng nó xác định khả năng truy cập của các biến
Các loại phạm vi trong JavaScript.
- phạm vi khối
- phạm vi chức năng
- phạm vi cục bộ
- phạm vi toàn cầu
phạm vi khối. JavaScript trước đó chỉ có Phạm vi toàn cầu và Phạm vi chức năng. let và const là hai từ khóa quan trọng mới được ES6 giới thiệu và hai từ khóa này cung cấp Phạm vi khối trong JavaScript. ECMAScript (ES6) 2015 là bản sửa đổi lớn thứ hai đối với JavaScript. Các biến được khai báo bên trong khối { } không thể được truy cập từ bên ngoài khối
để từ khóa
Thí dụ.
{ let x = 2; } x cannot be used heretừ khóa var
Thí dụ.
________một_______Các biến được khai báo với từ khóa var không thể có phạm vi khối và chúng có thể được khai báo bên trong khối { } và có thể được truy cập từ bên ngoài khối
Thí dụ
HTML
{ var x = 2; } x can be used here2
{ var x = 2; } x can be used here3_______1_______4{ var x = 2; } x can be used here5
{ var x = 2; } x can be used here3_______1_______7{ var x = 2; } x can be used here5
{ var x = 2; } x can be used here9{ var x = 2; } x can be used here31 y is not defined1 1 y is not defined21 y is not defined31 y is not defined41 y is not defined5________11___1{ var x = 2; } x can be used here5
{ var x = 2; } x can be used here9{ var x = 2; } x can be used here3function myFunction() { var firstName = "Krishna"; // Function Scope }0{ var x = 2; } x can be used here5
function myFunction() { var firstName = "Krishna"; // Function Scope }2_______20_______3
function myFunction() { var firstName = "Krishna"; // Function Scope }4function myFunction() { var firstName = "Krishna"; // Function Scope }5
function myFunction() { var firstName = "Krishna"; // Function Scope }6_______20_______7
function myFunction() { var firstName = "Krishna"; // Function Scope }6_______20_______9
function myFunction() { var firstName = "Krishna"; // Function Scope }6_______31_______1
function myFunction() { var firstName = "Krishna"; // Function Scope }4function myFunction() { let firstName = "Krishna"; // Function Scope }3
function myFunction() { var firstName = "Krishna"; // Function Scope }4function myFunction() { let firstName = "Krishna"; // Function Scope }5
function myFunction() { var firstName = "Krishna"; // Function Scope }4function myFunction() { let firstName = "Krishna"; // Function Scope }7
function myFunction() { var firstName = "Krishna"; // Function Scope }4function myFunction() { let firstName = "Krishna"; // Function Scope }9
function myFunction() { var firstName = "Krishna"; // Function Scope }2______31_______3
function myFunction() { var firstName = "Krishna"; // Function Scope }2______43_______3
{ var x = 2; } x can be used here9function myFunction() { const firstName = "Krishna"; // Function Scope }5function myFunction() { var firstName = "Krishna"; // Function Scope }0{ var x = 2; } x can be used here5
function myFunction() { const firstName = "Krishna"; // Function Scope }5{ var x = 2; } x can be used here7{ var x = 2; } x can be used here5
function myFunction() { const firstName = "Krishna"; // Function Scope }5{ var x = 2; } x can be used here4{ var x = 2; } x can be used here5
Đầu ra (Trong Bảng điều khiển)
________mười một_______phạm vi chức năng. JavaScript có phạm vi chức năng và mỗi chức năng tạo một phạm vi mới. Các biến được định nghĩa bên trong hàm không thể truy cập được từ bên ngoài hàm và các biến được khai báo bằng var, let và const khá giống nhau khi được khai báo bên trong hàm
từ khóa var
Thí dụ.
________hai mươi_______để từ khóa
Thí dụ
function myFunction() { let firstName = "Krishna"; // Function Scope }từ khóa const
Thí dụ
function myFunction() { const firstName = "Krishna"; // Function Scope }phạm vi cục bộ. Các biến được khai báo bên trong một hàm trở thành cục bộ của hàm. Biến cục bộ được tạo khi chức năng bắt đầu và bị xóa khi chức năng được thực thi. Các biến cục bộ có Phạm vi chức năng, nghĩa là chúng chỉ có thể được truy cập từ bên trong hàm
Thí dụ
// This part of code cannot use firstName function myFunction() { let firstName = "Krishna"; // This part of code can use firstName } This part of code cannot use firstNameHTML
{ var x = 2; } x can be used here2
{ var x = 2; } x can be used here3_______1_______4{ var x = 2; } x can be used here5
{ var x = 2; } x can be used here3_______1_______7{ var x = 2; } x can be used here5
{ var x = 2; } x can be used here9{ var x = 2; } x can be used here31 y is not defined1 1 y is not defined21 y is not defined31 y is not defined4_______1_______5
function myFunction() { var firstName = "Krishna"; // Function Scope }2______74_______9
{ var x = 2; } x can be used here9function myFunction() { const firstName = "Krishna"; // Function Scope }51 y is not defined1{ var x = 2; } x can be used here5
{ var x = 2; } x can be used here9{ var x = 2; } x can be used here3function myFunction() { var firstName = "Krishna"; // Function Scope }0{ var x = 2; } x can be used here5
function myFunction() { var firstName = "Krishna"; // Function Scope }2_______20_______3
function myFunction() { var firstName = "Krishna"; // Function Scope }4const x = 2; // Global scope1
function myFunction() { var firstName = "Krishna"; // Function Scope }4const x = 2; // Global scope3
function myFunction() { var firstName = "Krishna"; // Function Scope }2______31_______3
function myFunction() { var firstName = "Krishna"; // Function Scope }2____86_______7
function myFunction() { var firstName = "Krishna"; // Function Scope }2______86_______9
{ var x = 2; } x can be used here9function myFunction() { const firstName = "Krishna"; // Function Scope }5function myFunction() { var firstName = "Krishna"; // Function Scope }0{ var x = 2; } x can be used here5
function myFunction() { const firstName = "Krishna"; // Function Scope }5{ var x = 2; } x can be used here7{ var x = 2; } x can be used here5
function myFunction() { const firstName = "Krishna"; // Function Scope }5{ var x = 2; } x can be used here4{ var x = 2; } x can be used here5
Đầu ra (Trong Bảng điều khiển)
inside function: 1 x is not definedphạm vi toàn cầu. Các biến được khai báo Toàn cầu (bên ngoài bất kỳ chức năng nào) có Phạm vi Toàn cầu và các biến Toàn cầu có thể được truy cập từ bất kỳ đâu trong chương trình. Tương tự như các biến phạm vi hàm được khai báo với var, let và const hoàn toàn giống nhau khi được khai báo bên ngoài khối