JavaScript là một ngôn ngữ thông dịch (interpreted language). Điều này có nghĩa là mã nguồn JavaScript được thực thi trực tiếp bởi trình thông dịch (interpreter) mà không cần phải biên dịch (compile) thành mã máy trước khi chạy. Trình duyệt web đóng vai trò là trình thông dịch JavaScript, đọc và thực thi mã JavaScript trực tiếp.
* **Thông dịch:** Mã nguồn được thực thi từng dòng một bởi trình thông dịch.
* **Biên dịch:** Mã nguồn được chuyển đổi thành mã máy trước khi thực thi.
Một số môi trường JavaScript hiện đại có sử dụng kỹ thuật biên dịch Just-In-Time (JIT) để tối ưu hóa hiệu năng, nhưng về bản chất, JavaScript vẫn là một ngôn ngữ thông dịch.
JavaScript là một ngôn ngữ thông dịch (interpreted language). Điều này có nghĩa là mã nguồn JavaScript được thực thi trực tiếp bởi trình thông dịch (interpreter) mà không cần phải biên dịch (compile) thành mã máy trước khi chạy. Trình duyệt web đóng vai trò là trình thông dịch JavaScript, đọc và thực thi mã JavaScript trực tiếp.
* **Thông dịch:** Mã nguồn được thực thi từng dòng một bởi trình thông dịch.
* **Biên dịch:** Mã nguồn được chuyển đổi thành mã máy trước khi thực thi.
Một số môi trường JavaScript hiện đại có sử dụng kỹ thuật biên dịch Just-In-Time (JIT) để tối ưu hóa hiệu năng, nhưng về bản chất, JavaScript vẫn là một ngôn ngữ thông dịch.
Hàm `parseFloat()` trong JavaScript được sử dụng để chuyển đổi một chuỗi thành một số thực (số thập phân). Nếu chuỗi không thể chuyển đổi thành số, hàm sẽ trả về `NaN` (Not a Number).
- Phương án 1: "Chuyển một chuỗi thành số" không hoàn toàn chính xác vì nó không chỉ rõ loại số (số nguyên hay số thực).
- Phương án 2: "Chuyển một chuỗi thành số thực" là chính xác nhất vì `parseFloat()` luôn cố gắng chuyển đổi chuỗi thành số thập phân.
- Phương án 3: "Chuyển một chuỗi thành số nguyên" là sai vì hàm này trả về số thực, không phải số nguyên. Để chuyển đổi thành số nguyên, nên dùng `parseInt()`.
- Phương án 4: "Chuyển một số nguyên thành một chuỗi" là sai vì đây là chức năng ngược lại, và có thể thực hiện bằng phương thức `toString()` hoặc template literals.
Vì vậy, đáp án đúng nhất là phương án 2.
Sự kiện `onload` trong JavaScript xảy ra khi một phần tử HTML, đặc biệt là phần tử ``, đã tải xong. Điều này có nghĩa là toàn bộ nội dung của trang web, bao gồm HTML, CSS, JavaScript, hình ảnh và các tài nguyên khác, đã được tải và hiển thị hoàn tất. Do đó, `onload` thường được sử dụng để thực thi các hàm JavaScript sau khi trang web đã sẵn sàng.
* **Phương án 1: Khi bắt đầu chương trình chạy** - Sai. `onload` không xảy ra khi chương trình (trang web) bắt đầu chạy, mà xảy ra khi nó đã tải xong.
* **Phương án 2: Khi click chuột** - Sai. Sự kiện click chuột là `onclick`, không liên quan đến `onload`.
* **Phương án 3: Khi kết thúc một chương trình** - **Đúng**. `onload` xảy ra khi trang web đã tải xong, có thể coi là 'kết thúc' quá trình tải trang ban đầu.
* **Phương án 4: Khi di chuyển chuột qua** - Sai. Sự kiện di chuyển chuột qua một phần tử là `onmouseover` (hoặc `onmouseenter`), không liên quan đến `onload`.
Vậy đáp án đúng là phương án 3.
Sự kiện `onclick` trong Javascript xảy ra khi người dùng nhấp chuột (click) vào một phần tử HTML. Trong bối cảnh của câu hỏi, phương án chính xác nhất là "Khi click chuột vào một đối tượng trong form.", vì nó bao quát hành động click chuột lên bất kỳ đối tượng nào trong form, trong khi phương án "Khi click chuột vào nút lệnh" chỉ đề cập đến một trường hợp cụ thể hơn.
Trong ngôn ngữ lập trình C/C++ và nhiều ngôn ngữ khác, vòng lặp `for` có cấu trúc chuẩn như sau:
`for (khởi_tạo; điều_kiện; cập_nhật)`
Trong đó:
* `khởi_tạo`: Khởi tạo giá trị cho biến đếm (ví dụ: `i = 0`). Phần này thường được thực hiện một lần duy nhất khi bắt đầu vòng lặp.
* `điều_kiện`: Điều kiện để vòng lặp tiếp tục thực hiện (ví dụ: `i < 10`). Vòng lặp sẽ tiếp tục chạy cho đến khi điều kiện này sai.
* `cập_nhật`: Cập nhật giá trị của biến đếm sau mỗi lần lặp (ví dụ: `i++`).
Như vậy, đáp án chính xác phải có thứ tự: khởi tạo, điều kiện, cập nhật. Đáp án 1 phù hợp với cấu trúc này.