Javascript: Bối cảnh thực thi (Aze)
Trong khi mã chúng tôi viết đang chạy, có các quy trình trong nền mà chúng tôi không nhìn thấy. Khi công cụ Javascript đọc và thực thi mã, nó sẽ thực hiện theo 2 bước. Quá trình chung này, được gọi là bối cảnh thực thi, có 2 giai đoạn , như chúng tôi đã đề cập là giai đoạn tạo và giai đoạn thực hiện .
Trong giai đoạn đầu tiên, được gọi là giai đoạn tạo, công cụ JS thực hiện một số loại công việc chuẩn bị và làm quen với mã. Tạo Context, phân bổ bộ nhớ để lưu trữ các biến và chức năng. Trong giai đoạn tiếp theo, là giai đoạn thực thi , công cụ JS đồng hóa các giá trị mà chúng tôi đã đề cập với các biến mà nó đã quen thuộc và gọi các hàm.
Chúng ta có thể so sánh nó với việc chuẩn bị một loại thức ăn. Chúng tôi biết ngay từ đầu những nguồn cung cấp cần thiết cho thực phẩm mà chúng tôi sẽ chuẩn bị (Giai đoạn sáng tạo).
Sau đó, chúng tôi xác định số lượng nguồn cung cấp và bắt đầu hành động chuẩn bị thức ăn (Giai đoạn thực hiện).
Khi mã được thực thi lần đầu tiên, bối cảnh thực thi toàn cục sẽ được tạo trước tiên và các giai đoạn được đề cập sẽ được thực thi. Sau đó, nếu các chức năng tồn tại và được gọi, bối cảnh thực thi chức năng được tạo và cả hai giai đoạn được thực thi.
Thực tế chúng ta có thể thấy tất cả điều này với một đoạn mã nhỏ.
- Khi mã này được đọc bởi công cụ, bối cảnh chung sẽ được tạo trước .
2. Trong trường hợp bạn nhận thấy, không có gì được thực hiện với biến tech trong hàm getTechStack . Điều này là do biến nằm trong hàm getTechStack . Sau khi chức năng này được gọi như trong dòng 9, một bối cảnh chức năng mới sẽ được tạo và 2 giai đoạn sẽ được thực thi trong bối cảnh này. Chỉ khi đó, biến công nghệ mới được xử lý như bất kỳ biến nào khác.
Không giống như ngữ cảnh toàn cục, đối tượng toàn cục trong ngữ cảnh chức năng sẽ bằng với đối tượng đối số , tham chiếu đến các tham số của hàm.
Vì vậy, mỗi khi một chức năng được gọi khác với ngữ cảnh chung, một ngữ cảnh mới sẽ được tạo và quy trình tương tự sẽ được lặp lại.
Cảm ơn bạn đã đọc. :)
Chủ đề khác:

![Dù sao thì một danh sách được liên kết là gì? [Phần 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































