Hai loại phạm vi trong JavaScript là gì?

Phạm vi là bối cảnh thực thi hiện tại trong đó các giá trị và biểu thức "hiển thị" hoặc có thể được tham chiếu. Nếu một biến hoặc biểu thức không nằm trong phạm vi hiện tại, nó sẽ không có sẵn để sử dụng. Các phạm vi cũng có thể được xếp lớp trong một hệ thống phân cấp, để các phạm vi con có quyền truy cập vào các phạm vi cha, nhưng không phải ngược lại

JavaScript có các loại phạm vi sau

  • Phạm vi toàn cầu. Phạm vi mặc định cho tất cả mã chạy trong chế độ tập lệnh
  • phạm vi mô-đun. Phạm vi mã chạy trong chế độ mô-đun
  • phạm vi chức năng. Phạm vi được tạo bằng một chức năng

Ngoài ra, các biến được khai báo với let hoặc const có thể thuộc phạm vi bổ sung

  • phạm vi khối. Phạm vi được tạo bằng một cặp dấu ngoặc nhọn [một khối]

Một hàm tạo ra một phạm vi, do đó [ví dụ] một biến được xác định riêng trong hàm không thể được truy cập từ bên ngoài hàm hoặc bên trong các hàm khác. Ví dụ, sau đây là không hợp lệ

function exampleFunction[] {
  const x = "declared inside function"; // x can only be used in exampleFunction
  console.log["Inside function"];
  console.log[x];
}

console.log[x]; // Causes error

Tuy nhiên, đoạn mã sau hợp lệ do biến được khai báo bên ngoài hàm, làm cho nó trở nên toàn cục

Trong bài viết này, chúng tôi sẽ cố gắng hiểu phạm vi của một biến cũng như chức năng của nó [hoặc một phương thức] là gì. Chúng ta sẽ xem Chuỗi phạm vi là gì với sự trợ giúp của một số ví dụ mã hóa

Trước tiên chúng ta hãy xem phần sau đây mô tả Phạm vi.  

Phạm vi

  • Phạm vi trong JavaScript thực sự xác định khả năng truy cập của các biến và hàm ở các phần khác nhau trong mã hoặc chương trình của riêng một người
  • Nói cách khác, Scope sẽ giúp chúng ta xác định một phần nhất định của mã hoặc chương trình, biến hoặc chức năng nào có thể truy cập và biến hoặc chức năng nào không thể truy cập.
  • Trong chính phạm vi, một biến hoặc một hàm hoặc một phương thức có thể được truy cập. Ngoài phạm vi được chỉ định của một biến hoặc chức năng, dữ liệu không thể được truy cập
  • Có ba loại phạm vi có sẵn trong JavaScript. Phạm vi toàn cục, Phạm vi cục bộ/chức năng và Phạm vi khối. Chúng ta hãy cố gắng hiểu ngắn gọn từng người trong số họ trong phần sau

Phạm vi toàn cầu

  • Các biến hoặc hàm [hoặc phương thức] được khai báo trong một không gian tên chung [như khu vực hoặc vị trí] được xác định là Phạm vi toàn cầu.  
  • Điều đó có nghĩa là tất cả các biến có phạm vi toàn cầu có thể được truy cập dễ dàng từ bất kỳ đâu trong mã hoặc chương trình

ví dụ 1. Trong ví dụ này, chúng ta sẽ khai báo một biến toàn cục mà chúng ta sẽ sử dụng trong phần sau của mã. Chúng ta sẽ gọi biến đó trong một hàm. Chúng ta sẽ gọi hàm đó bên trong một hàm khác và sau đó chúng ta sẽ gọi hàm khác đó để xem kết quả

Javascript




    // Global Scoped Variable

    var global_variable =

10
undefined
Uncaught ReferenceError: a is not defined
0
10
undefined
Uncaught ReferenceError: a is not defined
1

10
undefined
Uncaught ReferenceError: a is not defined
2

    

10
undefined
Uncaught ReferenceError: a is not defined
4

    

10
undefined
Uncaught ReferenceError: a is not defined
6
10
undefined
Uncaught ReferenceError: a is not defined
7

10
undefined
Uncaught ReferenceError: a is not defined
8
10
undefined
Uncaught ReferenceError: a is not defined
9
Uncaught ReferenceError: x is not defined
0

    

Uncaught ReferenceError: x is not defined
2

10
undefined
Uncaught ReferenceError: a is not defined
2

    

Uncaught ReferenceError: x is not defined
5

    

10
undefined
Uncaught ReferenceError: a is not defined
6
Uncaught ReferenceError: x is not defined
8

10
undefined
Uncaught ReferenceError: a is not defined
8
10
undefined
Uncaught ReferenceError: a is not defined
9
30
20
1

    

Uncaught ReferenceError: x is not defined
2

10
undefined
Uncaught ReferenceError: a is not defined
2

    

30
20
6

30
20
7

đầu ra

GeeksforGeeks

Phạm vi cục bộ hoặc chức năng

  • Các biến được khai báo bên trong một hàm hoặc một phương thức có Phạm vi cục bộ hoặc hàm
  • Nó có nghĩa là các biến hoặc hàm được khai báo bên trong hàm hoặc một phương thức chỉ có thể được truy cập trong hàm đó

ví dụ 2. Trong ví dụ này, chúng ta sẽ khai báo hàm main sẽ bao gồm một biến cục bộ/hàm phạm vi. Chúng ta sẽ khai báo một hàm lồng nhau sẽ xem xét biến đó và thực hiện phép toán nhân trên nó. Chúng ta sẽ gọi hàm lồng nhau bên trong hàm chính và sau đó gọi hàm chính bên ngoài khai báo của nó

Sau đó, cuối cùng, chúng ta sẽ gọi biến cục bộ/hàm có phạm vi cùng với hàm có phạm vi cục bộ/hàm để xem chúng sẽ hiển thị đầu ra nào khi gọi

Javascript




    

10
undefined
Uncaught ReferenceError: a is not defined
6 1

10
undefined
Uncaught ReferenceError: a is not defined
2

10
undefined
Uncaught ReferenceError: a is not defined
84

10
undefined
Uncaught ReferenceError: a is not defined
8var 7

10
undefined
Uncaught ReferenceError: a is not defined
2

10
undefined
Uncaught ReferenceError: a is not defined
8    0

10
undefined
Uncaught ReferenceError: a is not defined
8var     3
10
undefined
Uncaught ReferenceError: a is not defined
6     5

    6

    7    8

    7// Global Scoped Variable0

10
undefined
Uncaught ReferenceError: a is not defined
8
Uncaught ReferenceError: x is not defined
2

10
undefined
Uncaught ReferenceError: a is not defined
2

10
undefined
Uncaught ReferenceError: a is not defined
8// Global Scoped Variable5

10
undefined
Uncaught ReferenceError: a is not defined
8// Global Scoped Variable7

    

Uncaught ReferenceError: x is not defined
2

    0

        2

        4

10
undefined
Uncaught ReferenceError: a is not defined
2

        7

        9

    var1

10
undefined
Uncaught ReferenceError: a is not defined
2

        7

    var6

    var8

30
20
7

đầu ra

10
undefined
Uncaught ReferenceError: a is not defined

Phạm vi chặn

  • Phạm vi khối có liên quan đến các biến hoặc hàm được khai báo bằng let và const vì var không có phạm vi khối
  • Phạm vi khối cho chúng ta biết rằng các biến được khai báo bên trong một khối { }, chỉ có thể được truy cập trong khối đó, không phải bên ngoài khối đó

ví dụ 3. Trong ví dụ này, chúng ta sẽ khai báo một khối bằng dấu ngoặc nhọn “{ }”, và bên trong khối đó, chúng ta sẽ khai báo một biến có giá trị nhất định trong đó. Chúng tôi sẽ gọi biến đó bên ngoài phạm vi bị chặn để xem đầu ra mà nó thực sự hiển thị khi gọi

Javascript




    global_variable =2

10
undefined
Uncaught ReferenceError: a is not defined
8global_variable =4

    

Uncaught ReferenceError: x is not defined
2

    global_variable =8

    

10
undefined
Uncaught ReferenceError: a is not defined
00

    

10
undefined
Uncaught ReferenceError: a is not defined
02

    

10
undefined
Uncaught ReferenceError: a is not defined
04

30
20
7

đầu ra

Uncaught ReferenceError: x is not defined

chuỗi phạm vi

  • Công cụ JavaScript sử dụng phạm vi để tìm ra vị trí chính xác hoặc khả năng truy cập của các biến và quy trình cụ thể đó được gọi là Chuỗi phạm vi
  • Chuỗi phạm vi có nghĩa là một biến có phạm vi [có thể là phạm vi toàn cầu hoặc cục bộ/hàm hoặc khối] được sử dụng bởi một biến hoặc hàm khác có phạm vi khác [có thể là phạm vi toàn cầu hoặc cục bộ/hàm hoặc khối]
  • Sự hình thành chuỗi hoàn chỉnh này tiếp tục và dừng lại khi người dùng muốn dừng nó theo yêu cầu

Ví dụ 4. Trong ví dụ này, trước tiên chúng ta sẽ khai báo một biến phạm vi toàn cầu mà chúng ta sẽ sử dụng trong phần sau của mã, sau đó chúng ta sẽ khai báo hàm chính bên trong mà chúng ta sẽ thực hiện một số nội dung. Chúng ta sẽ khai báo một biến phạm vi cục bộ/hàm khác bên trong hàm chính đó và ngay sau đó chúng ta sẽ khai báo hai hàm lồng nhau [có phạm vi hàm cục bộ/hàm] trong chính hàm chính đó

Hai phạm vi khác nhau trong JavaScript là gì?

Phạm vi trong JavaScript đề cập đến ngữ cảnh hiện tại của mã, xác định khả năng truy cập của các biến đối với JavaScript. Hai loại phạm vi là cục bộ và toàn cầu . Biến toàn cục là những biến được khai báo bên ngoài khối. Biến cục bộ là những biến được khai báo bên trong khối.

Hai loại phạm vi biến là gì?

Có hai loại phạm vi biến chủ yếu. Biến cục bộ . Biến toàn cục .

Có bao nhiêu loại phạm vi?

Như đã đề cập ở trên, có hai loại phạm vi—phạm vi sản phẩm và phạm vi dự án.

Phạm vi trong JS là gì?

JavaScript có các loại phạm vi sau. Phạm vi toàn cầu. Phạm vi mặc định cho tất cả mã chạy trong chế độ tập lệnh. phạm vi mô-đun. Phạm vi mã chạy trong chế độ mô-đun. phạm vi chức năng. Phạm vi được tạo bằng một chức năng

Chủ Đề