Js được thực thi như thế nào trong html?

JavaScript là ngôn ngữ đồng bộ (Chỉ chuyển sang dòng tiếp theo khi quá trình thực thi dòng hiện tại hoàn tất) và đơn luồng (Thực thi một lệnh tại một thời điểm theo một thứ tự cụ thể nối tiếp nhau). Để biết đằng sau bối cảnh mã JavaScript được thực thi bên trong như thế nào, chúng ta phải biết một thứ gọi là Bối cảnh thực thi và vai trò của nó trong việc thực thi mã JavaScript

Bối cảnh thực hiện. Mọi thứ trong JavaScript được bao bọc bên trong Bối cảnh thực thi, đây là một khái niệm trừu tượng (có thể được coi là vùng chứa) chứa toàn bộ thông tin về môi trường mà mã JavaScript hiện tại đang được thực thi

Giờ đây, Bối cảnh thực thi có hai thành phần và mã JavaScript được thực thi theo hai giai đoạn

  • Giai đoạn cấp phát bộ nhớ. Trong giai đoạn này, tất cả các hàm và biến của mã JavaScript được lưu trữ dưới dạng cặp khóa-giá trị bên trong thành phần bộ nhớ của ngữ cảnh thực thi. Trong trường hợp của một hàm, JavaScript đã sao chép toàn bộ hàm vào khối bộ nhớ nhưng trong trường hợp của các biến, nó gán không xác định làm trình giữ chỗ
  • Giai đoạn thực thi mã. Trong giai đoạn này, mã JavaScript được thực thi từng dòng một bên trong Thành phần mã (còn được gọi là Chuỗi thực thi) của Bối cảnh thực thi.  

Hãy xem toàn bộ quá trình thông qua một ví dụ

Javascript




var number = 2;

function Square (n) {

    var res = n * n;

    return res;

number = 2;0

var number = 2;2

Trong mã JavaScript ở trên, có hai biến có tên là số và số mới và một hàm có tên là Hình vuông đang trả về bình phương của số. Vì vậy, khi chúng tôi chạy chương trình này, Bối cảnh thực thi toàn cầu được tạo

Vì vậy, trong giai đoạn Cấp phát bộ nhớ, bộ nhớ sẽ được cấp phát cho các biến và hàm như thế này

Js được thực thi như thế nào trong html?

Bối cảnh thực thi toàn cầu

Trong Giai đoạn thực thi mã, JavaScript là một ngôn ngữ luồng đơn lại chạy qua từng dòng mã và cập nhật các giá trị của hàm và biến được lưu trữ trong Giai đoạn cấp phát bộ nhớ trong Thành phần bộ nhớ

Vì vậy, trong giai đoạn thực thi mã, bất cứ khi nào một hàm mới được gọi, Bối cảnh thực thi mới sẽ được tạo. Vì vậy, mỗi khi một hàm được gọi trong Thành phần mã, một Bối cảnh thực thi mới được tạo bên trong bối cảnh thực thi chung trước đó.  

Js được thực thi như thế nào trong html?

Bối cảnh thực thi toàn cầu

Vì vậy, một lần nữa, trước khi hoàn thành cấp phát bộ nhớ trong Thành phần bộ nhớ của Bối cảnh thực thi mới. Sau đó, trong Giai đoạn thực thi mã của Bối cảnh thực thi mới được tạo, Bối cảnh thực thi chung sẽ giống như sau

Js được thực thi như thế nào trong html?

Bối cảnh thực thi toàn cầu

Như chúng ta có thể thấy, các giá trị được gán trong thành phần bộ nhớ sau khi thực thi từng dòng mã, i. e. con số. 2, độ phân giải. 4, số mới. 4

Sau câu lệnh trả về của hàm được gọi, giá trị trả về được gán thay cho giá trị không xác định trong phân bổ bộ nhớ của ngữ cảnh thực thi trước đó. Sau khi trả về giá trị, ngữ cảnh thực thi mới (tạm thời) sẽ bị xóa hoàn toàn. Bất cứ khi nào quá trình thực thi gặp câu lệnh return, Nó sẽ đưa điều khiển trở lại ngữ cảnh thực thi nơi hàm được gọi

Js được thực thi như thế nào trong html?

Bối cảnh thực thi toàn cầu

Sau khi thực hiện lời gọi hàm đầu tiên khi chúng ta gọi lại hàm, JavaScript sẽ tạo lại một bối cảnh tạm thời khác trong đó quy trình tương tự lặp lại tương ứng (thực thi bộ nhớ và thực thi mã). Cuối cùng, bối cảnh thực thi toàn cầu bị xóa giống như bối cảnh thực thi con. Toàn bộ bối cảnh thực thi cho phiên bản của chức năng đó sẽ bị xóa

ngăn xếp cuộc gọi. Khi một chương trình bắt đầu thực thi, JavaScript sẽ đẩy toàn bộ chương trình dưới dạng ngữ cảnh chung vào một ngăn xếp được gọi là Ngăn xếp cuộc gọi và tiếp tục thực thi. Bất cứ khi nào JavaScript thực thi một bối cảnh mới và chỉ làm theo quy trình tương tự và đẩy vào ngăn xếp. Khi ngữ cảnh kết thúc, JavaScript sẽ bật lên trên cùng của ngăn xếp tương ứng

Js được thực thi như thế nào trong html?

ngăn xếp cuộc gọi

Khi JavaScript hoàn thành việc thực thi toàn bộ mã, Bối cảnh thực thi toàn cầu sẽ bị xóa và bật ra khỏi Ngăn xếp cuộc gọi làm cho ngăn xếp Cuộc gọi trống

Làm cách nào để triển khai JS trong HTML?

I. tag of the HTML that wrap around JavaScript code inside the HTML program. Users can also define JavaScript code in the tag (or we can say body section) or tag because it completely depends on the structure of the web page that the users use.

Mã JS được thực thi như thế nào?

Bối cảnh thực thi chứa mã hiện đang chạy và mọi thứ hỗ trợ thực thi mã đó. Trong thời gian chạy Ngữ cảnh thực thi, mã cụ thể được trình phân tích cú pháp phân tích cú pháp, các biến và hàm được lưu trữ trong bộ nhớ, mã byte thực thi được tạo và mã được thực thi

Làm thế nào mã JS được thực thi trong trình duyệt?

Ngược lại, JavaScript không có bước biên dịch. Thay vào đó, trình thông dịch trong trình duyệt sẽ đọc mã JavaScript, diễn giải từng dòng và chạy nó. Các trình duyệt hiện đại hơn sử dụng một công nghệ được gọi là biên dịch Just-In-Time (JIT), biên dịch JavaScript thành mã byte thực thi ngay khi nó sắp chạy

Mã JS sẽ được thực thi ở đâu?

Mọi thứ trong JavaScript diễn ra bên trong một "Bối cảnh thực thi”. Bất cứ khi nào một chương trình JavaScript được chạy, ngữ cảnh thực thi sẽ được tạo. Trong giai đoạn này, javascript cấp phát bộ nhớ cho tất cả các biến và hàm có trong chương trình