Trả lời:
Đáp án đúng: B
Trong JavaScript, từ khóa
var được sử dụng để khai báo một biến. Cú pháp đúng là var carName;, trong đó carName là tên của biến. Các phương án khác không đúng cú pháp trong JavaScript.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: C
Đoạn code kiểm tra sự khác biệt giữa `var` và `let` trong JavaScript, cũng như cách closure hoạt động.
* `withVar()`: Vì `a` được khai báo bằng `var`, nó được hoisting lên trên đầu scope của function. Tuy nhiên, việc gán giá trị `24` chỉ xảy ra sau khi `b` được định nghĩa. Do đó, khi `b` được gọi, nó tham chiếu đến `a` trong scope chứa nó, và `a` đã được gán giá trị `24`.
* `withLet()`: Vì `a` được khai báo bằng `let`, nó không được hoisting theo cách tương tự như `var`. Khi `b` được định nghĩa, `a` vẫn chưa được khởi tạo trong scope của nó, dẫn đến lỗi `ReferenceError` khi cố gắng truy cập `a` trước khi nó được khởi tạo.
* `changingValue()`: `a` được khai báo bằng `let` và được khởi tạo với giá trị `24`. `b` được định nghĩa để trả về giá trị của `a`. Sau đó, `a` được gán giá trị `42`. Khi `b` được gọi, nó trả về giá trị hiện tại của `a`, là `42`.
* `withVar()`: Vì `a` được khai báo bằng `var`, nó được hoisting lên trên đầu scope của function. Tuy nhiên, việc gán giá trị `24` chỉ xảy ra sau khi `b` được định nghĩa. Do đó, khi `b` được gọi, nó tham chiếu đến `a` trong scope chứa nó, và `a` đã được gán giá trị `24`.
* `withLet()`: Vì `a` được khai báo bằng `let`, nó không được hoisting theo cách tương tự như `var`. Khi `b` được định nghĩa, `a` vẫn chưa được khởi tạo trong scope của nó, dẫn đến lỗi `ReferenceError` khi cố gắng truy cập `a` trước khi nó được khởi tạo.
* `changingValue()`: `a` được khai báo bằng `let` và được khởi tạo với giá trị `24`. `b` được định nghĩa để trả về giá trị của `a`. Sau đó, `a` được gán giá trị `42`. Khi `b` được gọi, nó trả về giá trị hiện tại của `a`, là `42`.
Lời giải:
Đáp án đúng: B
Đoạn code trên minh họa hoisting trong JavaScript.
1. `bar();` (dòng 1): Hàm `bar` được gọi trước khi nó được khai báo tường minh (bằng `function bar() {}`). Do hoisting, khai báo hàm `bar` được đưa lên đầu phạm vi, nên `bar()` ở đây sẽ gọi hàm `bar` ban đầu, in ra 'first'.
2. `var bar;` (dòng 2): Dòng này chỉ khai báo biến `bar`, nhưng vì hàm `bar` đã được hoisting nên không ảnh hưởng.
3. `bar = function () { ... };` (dòng 6-8): Gán một *biểu thức hàm* (function expression) cho biến `bar`. Từ thời điểm này trở đi, `bar` không còn là hàm ban đầu nữa.
4. `bar();` (dòng 9): Gọi `bar` sau khi nó đã được gán biểu thức hàm, in ra 'second'.
5. `foo();` (dòng 10): Tương tự `bar`, hàm `foo` được gọi trước khi biểu thức hàm được gán cho `foo`. Do hoisting, lời gọi này sẽ thực thi một trong các khai báo hàm `foo` được đưa lên trên. Vì khai báo hàm `foo` cuối cùng sẽ ghi đè các khai báo trước đó, lời gọi này in ra 3.
6. `var foo = function () { ... };` (dòng 15-17): Gán một *biểu thức hàm* cho biến `foo`, ghi đè khai báo hàm `foo` được hoisting trước đó.
7. `foo();` (dòng 19): Gọi `foo` sau khi nó đã được gán biểu thức hàm, in ra 2.
Vì vậy, kết quả là: first second 3 2.
1. `bar();` (dòng 1): Hàm `bar` được gọi trước khi nó được khai báo tường minh (bằng `function bar() {}`). Do hoisting, khai báo hàm `bar` được đưa lên đầu phạm vi, nên `bar()` ở đây sẽ gọi hàm `bar` ban đầu, in ra 'first'.
2. `var bar;` (dòng 2): Dòng này chỉ khai báo biến `bar`, nhưng vì hàm `bar` đã được hoisting nên không ảnh hưởng.
3. `bar = function () { ... };` (dòng 6-8): Gán một *biểu thức hàm* (function expression) cho biến `bar`. Từ thời điểm này trở đi, `bar` không còn là hàm ban đầu nữa.
4. `bar();` (dòng 9): Gọi `bar` sau khi nó đã được gán biểu thức hàm, in ra 'second'.
5. `foo();` (dòng 10): Tương tự `bar`, hàm `foo` được gọi trước khi biểu thức hàm được gán cho `foo`. Do hoisting, lời gọi này sẽ thực thi một trong các khai báo hàm `foo` được đưa lên trên. Vì khai báo hàm `foo` cuối cùng sẽ ghi đè các khai báo trước đó, lời gọi này in ra 3.
6. `var foo = function () { ... };` (dòng 15-17): Gán một *biểu thức hàm* cho biến `foo`, ghi đè khai báo hàm `foo` được hoisting trước đó.
7. `foo();` (dòng 19): Gọi `foo` sau khi nó đã được gán biểu thức hàm, in ra 2.
Vì vậy, kết quả là: first second 3 2.
Lời giải:
Đáp án đúng: A
Trong HTML, để tạo một điểm neo (anchor) trong trang web, ta sử dụng thẻ `` với thuộc tính `name` (trong HTML4) hoặc `id` (trong HTML5). Điểm neo này cho phép liên kết đến một vị trí cụ thể trên trang.
- `NAME`: Thuộc tính `name` được sử dụng trong HTML4 để xác định một điểm neo có thể liên kết đến. Tuy nhiên, HTML5 khuyến khích sử dụng thuộc tính `id` thay thế.
- `CLASS`: Thuộc tính `class` được sử dụng để gán một hoặc nhiều lớp CSS cho một phần tử HTML, phục vụ cho mục đích tạo kiểu (styling).
- `HREF`: Thuộc tính `href` được sử dụng trong thẻ `` để chỉ định URL đích mà liên kết sẽ dẫn đến.
- `ID`: Thuộc tính `id` được sử dụng để xác định một phần tử HTML duy nhất trên trang. Thuộc tính `id` cũng có thể được sử dụng như một điểm neo để liên kết đến.
Vì vậy, đáp án A và D đều có thể dùng để đánh dấu một phần trên trang web. Tuy nhiên, câu hỏi không đề cập rõ là đang hỏi về HTML4 hay HTML5. Trong thực tế, `id` được sử dụng phổ biến hơn và được khuyến khích trong HTML5, nhưng `name` vẫn được hỗ trợ trong nhiều trình duyệt.
Ở đây, đáp án A phù hợp hơn với cách diễn đạt "đánh dấu một phần", vì `name` trực tiếp tạo ra điểm đánh dấu để liên kết đến.
- `NAME`: Thuộc tính `name` được sử dụng trong HTML4 để xác định một điểm neo có thể liên kết đến. Tuy nhiên, HTML5 khuyến khích sử dụng thuộc tính `id` thay thế.
- `CLASS`: Thuộc tính `class` được sử dụng để gán một hoặc nhiều lớp CSS cho một phần tử HTML, phục vụ cho mục đích tạo kiểu (styling).
- `HREF`: Thuộc tính `href` được sử dụng trong thẻ `` để chỉ định URL đích mà liên kết sẽ dẫn đến.
- `ID`: Thuộc tính `id` được sử dụng để xác định một phần tử HTML duy nhất trên trang. Thuộc tính `id` cũng có thể được sử dụng như một điểm neo để liên kết đến.
Vì vậy, đáp án A và D đều có thể dùng để đánh dấu một phần trên trang web. Tuy nhiên, câu hỏi không đề cập rõ là đang hỏi về HTML4 hay HTML5. Trong thực tế, `id` được sử dụng phổ biến hơn và được khuyến khích trong HTML5, nhưng `name` vẫn được hỗ trợ trong nhiều trình duyệt.
Ở đây, đáp án A phù hợp hơn với cách diễn đạt "đánh dấu một phần", vì `name` trực tiếp tạo ra điểm đánh dấu để liên kết đến.
Lời giải:
Đáp án đúng: A
Thẻ `` (table row) được sử dụng để khai báo một hàng trong bảng HTML. Các thẻ `` (table data) được sử dụng để khai báo các ô dữ liệu trong hàng. Thẻ `` dùng để tạo bảng, còn thẻ `
| ` dùng để tạo tiêu đề cho cột (thường nằm ở hàng đầu tiên). Lời giải: Đáp án đúng: B Dreamweaver sử dụng giao thức FTP (File Transfer Protocol) để tải các tập tin từ site cục bộ (local site) lên web server. FTP là một giao thức mạng tiêu chuẩn được sử dụng để truyền tải các tập tin giữa máy tính và server trên mạng Internet. * Http (Hypertext Transfer Protocol): Giao thức truyền tải siêu văn bản, dùng để truyền tải dữ liệu giữa trình duyệt web và web server. * Smtp (Simple Mail Transfer Protocol): Giao thức truyền thư tín đơn giản, dùng để gửi email. * Hmpt: Không phải là một giao thức chuẩn được sử dụng trong truyền tải dữ liệu web. 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ệp136 tài liệu563 lượt tải ![]() FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp125 tài liệu585 lượt tải ![]() FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng325 tài liệu608 lượt tải ![]() FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất331 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ụng246 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ệp138 tài liệu417 lượt tải ĐĂNG KÝ GÓI THI VIP
77.000 đ/ tháng |
|---|





