PHẦN CƠ BẢN
VÒNG LẶP
DATA TYPES
EVENTS
DOM
BOM
OBJECT
BỔ SUNG
THỰC HÀNH
JAVASCRIPT CĂN BẢN
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Hãy nêu quá trình biên dịch của Javascript

Bằng các kiến thức đã học ở phần lý thuyết và nghiên cứu thêm trên internet, hãy nêu lại quá trình biên dịch của Javascript và cho một ví dụ minh họa cụ thể.

test php

Bài giải

-------------------- ######## --------------------

Cũng như các ngôn ngữ lập trình khác, quá trình biên dịch của Javascript tuân thủ theo nguyên tắc chạy từ trên xuống và từ trái sang phải. Tuy nhiên có một điều khác so với các ngôn ngữ khác là trình biên dịch sẽ biên dịch cùng lúc cả HTML, CSS và Javascript, tức là nó gặp đoạn code nào trước thì sẽ biên dịch trước.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Ví dụ:

// (1) Chạy cái này trước
<input type="text" id="id_textbox" value=""/>

// (2) Rồi mới đến cái này
<style type="text/css">
    input{
        background: red
    }
</style>

// (3) Rồi mới chạy tới JS
<script language="javascript">
    var button = document.getElementById('id_button');
</script>

Nếu xét về quy trình biên dịch của mỗi Javascript thôi thì nội dung sẽ như sau: Trình biên dịch sẽ chạy từ trên xuống và từ trái sang phải, nó gặp đoạn code Javscript nào thì sẽ biên dịch ngay đoạn code đó. Nếu trong chương trình có sử dụng các lệnh comment (ghi chú) thì nó sẽ bỏ qua. Nếu nó gặp sự kiện window.onload thì những đoạn code nằm trong sự kiện này sẽ được xử lý sau cùng (cái này gọi là bất đồng bộ và ta sẽ học sau).

Ví dụ:

Bài viết này được đăng tại [free tuts .net]

alert(1);

alert(2);

window.onload = function(){
    alert(3);
};

alert(4);

Trong ví dụ này thứ tự chạy sẽ là 1 - 2 - 4 - 3 vì vị trí thứ 3 nằm trong sự kiện onload.

Trong bài này mình sẽ không đề cập đến xử lý đồng bộ và bất đồng bộ bởi nó là kiến thúc nâng cao nên rất khó hiểu, vì vậy nội dung câu trả lời có thể sẽ thiếu một số ý. Nếu bạn là người mới học Javascript và đây là bài đầu tiên thì nó sẽ hơi khó hiểu, tuy nhiên bạn đừng lo lắng quá nhé, sau này qua các bài tiếp theo bạn sẽ tự hiểu ra và lúc đó bạn sẽ nhớ lâu hơn :)

Bài tập thực hành

Cùng chuyên mục:

Functional Programming là gì? Tại sao và khi nào bạn nên sử dụng trong JavaScript

Functional Programming là gì? Tại sao và khi nào bạn nên sử dụng trong JavaScript

Những tính năng mới trong ES6+ trong JavaScript

Những tính năng mới trong ES6+ trong JavaScript

4 cách tránh memory leaks trong JavaScript

4 cách tránh memory leaks trong JavaScript

Capturing và bubbling Event trong Javascript

Capturing và bubbling Event trong Javascript

Phân biệt prototype và __proto__ trong JavaScript

Phân biệt prototype và __proto__ trong JavaScript

Cách hoạt động của Event Loop trong JavaScript

Cách hoạt động của Event Loop trong JavaScript

Phương thức bind(), call(), và apply() trong JavaScript

Phương thức bind(), call(), và apply() trong JavaScript

Cách khắc phục lỗi

Cách khắc phục lỗi "hoisting" trong JavaScript

Sử dụng Promise.all và Promise.race để quản lý các Promise trong JavaScript

Sử dụng Promise.all và Promise.race để quản lý các Promise trong JavaScript

Xử lý bất đồng bộ bằng vòng lặp for-await trong JavaScript

Xử lý bất đồng bộ bằng vòng lặp for-await trong JavaScript

Sự khác biệt giữa Promise, Callback và Async/Await trong JavaScript

Sự khác biệt giữa Promise, Callback và Async/Await trong JavaScript

Cách sử dụng Async functions trong JavaScript

Cách sử dụng Async functions trong JavaScript

Hàm String isspace() trong Python

Hàm String isspace() trong Python

Cách tạo số ngẫu nhiên trong Javascript

Cách tạo số ngẫu nhiên trong Javascript

Hướng dẫn cách tạo một số ngẫu nhiên ...

Cách gộp hai object javascript lại với nhau

Cách gộp hai object javascript lại với nhau

Cách lấy chiều dài của object trong Javascript

Cách lấy chiều dài của object trong Javascript

Hướng dẫn giải phương trình bậc 1 bằng Javascript

Hướng dẫn giải phương trình bậc 1 bằng Javascript

Cách dùng nextSibling trong javascript

Cách dùng nextSibling trong javascript

Cách dùng insertAdjacentHTML trong javascript

Cách dùng insertAdjacentHTML trong javascript

Cách dùng innerHTML trong Javascript

Cách dùng innerHTML trong Javascript

Top