Trong Javascript sự kiện OnMouseOver thực hiện khi nào?
Trả lời:
Đáp án đúng: C
Sự kiện `onmouseover` trong JavaScript xảy ra khi con trỏ chuột di chuyển vào một phần tử HTML (ví dụ: một đối tượng trong form). Do đó, đáp án đúng là "Khi di chuyển con chuột qua một đối tượng trong form.". Các phương án khác mô tả các sự kiện khác nhau: mất focus, có focus, hoặc click chuột.
Tổng hợp 500 câu hỏi trắc nghiệm Javascript có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.
50 câu hỏi 60 phút
Câu hỏi liên quan
Lời giải:
Đáp án đúng: B
Vòng lặp `do...while` là một dạng vòng lặp trong đó khối lệnh bên trong vòng lặp được thực thi ít nhất một lần, trước khi điều kiện lặp được kiểm tra. Điều này có nghĩa là vòng lặp sẽ luôn thực hiện ít nhất một lần, ngay cả khi điều kiện ban đầu là sai. Sau khi khối lệnh được thực thi, điều kiện sẽ được kiểm tra. Nếu điều kiện đúng, vòng lặp sẽ tiếp tục. Nếu điều kiện sai, vòng lặp sẽ kết thúc.
Như vậy, vòng lặp `do...while` là vòng lặp không xác định số lần lặp trước và việc xét điều kiện được thực hiện *sau* mỗi lần lặp.
Phương án A không đúng vì vòng lặp `do...while` xét điều kiện *sau* khi lặp, không phải trước.
Phương án B đúng vì vòng lặp `do...while` lặp *rồi* mới xét điều kiện.
Phương án C không đúng vì chỉ có một dạng đúng là lặp rồi mới xét điều kiện.
Phương án D không đúng vì vòng lặp `do...while` là một dạng vòng lặp có tồn tại.
Như vậy, vòng lặp `do...while` là vòng lặp không xác định số lần lặp trước và việc xét điều kiện được thực hiện *sau* mỗi lần lặp.
Phương án A không đúng vì vòng lặp `do...while` xét điều kiện *sau* khi lặp, không phải trước.
Phương án B đúng vì vòng lặp `do...while` lặp *rồi* mới xét điều kiện.
Phương án C không đúng vì chỉ có một dạng đúng là lặp rồi mới xét điều kiện.
Phương án D không đúng vì vòng lặp `do...while` là một dạng vòng lặp có tồn tại.
Lời giải:
Đáp án đúng: A
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à tất cả nội dung, bao gồm hình ảnh, script và các tài nguyên khác, đã được tải hoàn tất. Do đó, đáp án chính xác là khi kết thúc một chương trình. Tuy nhiên, cần hiểu rõ hơn, "chương trình" ở đây được hiểu là quá trình tải và hiển thị một trang web hoặc một phần của trang web.
* A. Khi bắt đầu chạy chương trình: Sai. `onload` không xảy ra khi chương trình bắt đầu. Nó xảy ra khi quá trình tải trang hoàn tất.
* B. Khi click chuột: Sai. Sự kiện click chuột là một sự kiện riêng biệt, không liên quan đến `onload`.
* C. Khi di chuyển chuột qua: Sai. Sự kiện di chuột (mouseover/mouseout) cũng là một sự kiện riêng biệt và không liên quan đến `onload`.
* D. Khi kết thúc một chương trình: Sai. Câu này không chính xác hoàn toàn, mặc dù nó gần đúng nhất. Thực tế, `onload` xảy ra khi trình duyệt đã tải xong tất cả các tài nguyên của trang web (hoặc một phần tử cụ thể, như hình ảnh). Nó không nhất thiết phải là khi "chương trình" (ứng dụng web) kết thúc, mà là khi quá trình tải ban đầu kết thúc.
* A. Khi bắt đầu chạy chương trình: Sai. `onload` không xảy ra khi chương trình bắt đầu. Nó xảy ra khi quá trình tải trang hoàn tất.
* B. Khi click chuột: Sai. Sự kiện click chuột là một sự kiện riêng biệt, không liên quan đến `onload`.
* C. Khi di chuyển chuột qua: Sai. Sự kiện di chuột (mouseover/mouseout) cũng là một sự kiện riêng biệt và không liên quan đến `onload`.
* D. Khi kết thúc một chương trình: Sai. Câu này không chính xác hoàn toàn, mặc dù nó gần đúng nhất. Thực tế, `onload` xảy ra khi trình duyệt đã tải xong tất cả các tài nguyên của trang web (hoặc một phần tử cụ thể, như hình ảnh). Nó không nhất thiết phải là khi "chương trình" (ứng dụng web) kết thúc, mà là khi quá trình tải ban đầu kết thúc.
Lời giải:
Đáp án đúng: D
Đoạn code trên kiểm tra kiến thức về `call()` và `bind()` trong JavaScript.
- `call()` gọi một hàm với một giá trị `this` và các arguments được cung cấp một cách trực tiếp. Trong trường hợp này, `sayHi.call(person, 69)` gọi hàm `sayHi` với `this` là đối tượng `person` và argument `age` là 69. Kết quả là chuỗi "duthaho is 69" được trả về và in ra console.
- `bind()` tạo ra một hàm mới, trong đó `this` được gán vĩnh viễn cho một đối tượng cụ thể, và các arguments được cung cấp sẽ được gán trước cho hàm đó. Trong trường hợp này, `sayHi.bind(person, 69)` tạo ra một hàm mới, trong đó `this` là đối tượng `person` và `age` là 69. Hàm mới này chưa được gọi ngay mà chỉ được tạo ra, do đó `console.log` sẽ in ra chính định nghĩa của hàm đó (function).
Vì vậy, kết quả in ra sẽ là "duthaho is 69" sau đó là "function".
- `call()` gọi một hàm với một giá trị `this` và các arguments được cung cấp một cách trực tiếp. Trong trường hợp này, `sayHi.call(person, 69)` gọi hàm `sayHi` với `this` là đối tượng `person` và argument `age` là 69. Kết quả là chuỗi "duthaho is 69" được trả về và in ra console.
- `bind()` tạo ra một hàm mới, trong đó `this` được gán vĩnh viễn cho một đối tượng cụ thể, và các arguments được cung cấp sẽ được gán trước cho hàm đó. Trong trường hợp này, `sayHi.bind(person, 69)` tạo ra một hàm mới, trong đó `this` là đối tượng `person` và `age` là 69. Hàm mới này chưa được gọi ngay mà chỉ được tạo ra, do đó `console.log` sẽ in ra chính định nghĩa của hàm đó (function).
Vì vậy, kết quả in ra sẽ là "duthaho is 69" sau đó là "function".
Lời giải:
Đáp án đúng: B
Đoạn code định nghĩa một hàm `sayHi`. Bên trong hàm này, một arrow function `() => 0` được định nghĩa và thực thi ngay lập tức bằng cách thêm `()`. Arrow function này trả về giá trị `0`. Do đó, hàm `sayHi` trả về giá trị `0`.
Khi `console.log(typeof sayHi())` được thực thi, nó sẽ in ra kiểu dữ liệu của giá trị mà hàm `sayHi()` trả về. Vì `sayHi()` trả về `0`, kiểu dữ liệu của nó là 'number'.
Khi `console.log(typeof sayHi())` được thực thi, nó sẽ in ra kiểu dữ liệu của giá trị mà hàm `sayHi()` trả về. Vì `sayHi()` trả về `0`, kiểu dữ liệu của nó là 'number'.
Lời giải:
Đáp án đúng: C
Đoạn code thực hiện các bước sau:
1. `const url = 'quiz.duthaho.com';`: Khai báo một biến `url` có giá trị là chuỗi `'quiz.duthaho.com'`.
2. `url.split('.')`: Chia chuỗi `url` thành một mảng các chuỗi con bằng cách sử dụng dấu chấm (`.`) làm dấu phân cách. Kết quả là `['quiz', 'duthaho', 'com']`.
3. `.filter(Boolean)`: Lọc mảng để loại bỏ các phần tử có giá trị `falsy` (ví dụ: `null`, `undefined`, `''`, `0`, `false`). Trong trường hợp này, không có phần tử nào bị loại bỏ, vì vậy mảng vẫn là `['quiz', 'duthaho', 'com']`.
4. `const { length: ln, [ln - 1]: domain = 'quiz' } = ...`: Sử dụng cú pháp destructuring để gán giá trị từ mảng đã lọc cho các biến `ln` và `domain`.
* `length: ln`: Gán độ dài của mảng (là 3) cho biến `ln`. Như vậy, `ln = 3`.
* `[ln - 1]: domain = 'quiz'`: Gán giá trị của phần tử tại vị trí `ln - 1` (tức là vị trí `3 - 1 = 2`) cho biến `domain`. Trong mảng `['quiz', 'duthaho', 'com']`, phần tử tại vị trí 2 là `'com'`. Do đó, `domain = 'com'`. Giá trị mặc định `domain = 'quiz'` chỉ được sử dụng nếu phần tử tại vị trí `ln - 1` là `undefined`.
5. `console.log(domain)`: In giá trị của biến `domain` ra console. Vì `domain` có giá trị là `'com'`, nên kết quả in ra là `'com'`.
Vậy đáp án đúng là C.
1. `const url = 'quiz.duthaho.com';`: Khai báo một biến `url` có giá trị là chuỗi `'quiz.duthaho.com'`.
2. `url.split('.')`: Chia chuỗi `url` thành một mảng các chuỗi con bằng cách sử dụng dấu chấm (`.`) làm dấu phân cách. Kết quả là `['quiz', 'duthaho', 'com']`.
3. `.filter(Boolean)`: Lọc mảng để loại bỏ các phần tử có giá trị `falsy` (ví dụ: `null`, `undefined`, `''`, `0`, `false`). Trong trường hợp này, không có phần tử nào bị loại bỏ, vì vậy mảng vẫn là `['quiz', 'duthaho', 'com']`.
4. `const { length: ln, [ln - 1]: domain = 'quiz' } = ...`: Sử dụng cú pháp destructuring để gán giá trị từ mảng đã lọc cho các biến `ln` và `domain`.
* `length: ln`: Gán độ dài của mảng (là 3) cho biến `ln`. Như vậy, `ln = 3`.
* `[ln - 1]: domain = 'quiz'`: Gán giá trị của phần tử tại vị trí `ln - 1` (tức là vị trí `3 - 1 = 2`) cho biến `domain`. Trong mảng `['quiz', 'duthaho', 'com']`, phần tử tại vị trí 2 là `'com'`. Do đó, `domain = 'com'`. Giá trị mặc định `domain = 'quiz'` chỉ được sử dụng nếu phần tử tại vị trí `ln - 1` là `undefined`.
5. `console.log(domain)`: In giá trị của biến `domain` ra console. Vì `domain` có giá trị là `'com'`, nên kết quả in ra là `'com'`.
Vậy đáp án đúng là C.
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp
136 tài liệu563 lượt tải

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp
125 tài liệu585 lượt tải

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng
325 tài liệu608 lượt tải

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất
331 tài liệu1010 lượt tải

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
246 tài liệu802 lượt tải

CEO.22: Bộ Tài Liệu Quy Trình Kiểm Toán, Kiểm Soát Nội Bộ Doanh Nghiệp
138 tài liệu417 lượt tải
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.
77.000 đ/ tháng