Các Câu Hỏi Javascript Thường Gặp 2021 - Viblo
Có thể bạn quan tâm
Javascript là ngôn ngữ cực kỳ phổ biến. Javascript kết hợp với HTML, CSS là bộ 3 huyền thoại trong lập trình web. Ngôn ngữ lập trình Javascript cực kỳ linh động và cũng chính vì tính linh động của Javascript mà khiến chúng ta rất dễ gặp khó khăn khi phỏng vấn.
Dưới đây là các câu hỏi phỏng vấn về Javascript thường gặp nhất :
Khác nhau giữa Null và Undefined
- Undefined có nghĩa là không xác định. Trong javascript, khi bạn khai báo một biến nhưng chưa gán giá trị cho nó, giá trị của biến đó sẽ là undefined.
- Null là một loại object, tương tự như các loại object khác như 'string', 'number',...
Có thể thấy undefind có kiểu giá trị là undefined nhưng null lại là 1 object (bạn có thể coi đó là một lỗi nhỏ trong JavaScript khi để kiểu của null là đối tượng, đáng ra kiểu của nó nên là null).
null === undefined // false null == undefined // true"This" trong javascript được dùng để làm gì?
Từ khóa "this" trong javascript tham chiếu đến đối tượng mà nó thuộc về. "This" có các giá trị khác nhau phụ thuộc vào nơi nó được sử dụng.
- Trong 1 method, "this" tham chiếu đến đối tượng chủ, ví dụ:
- Trong 1 function, "this" tham chiếu đến đối tượng toàn cục (global object, trong web là biến window)
Sự khác biệt giữa var và let là gì ?
Sự khác biệt là ở mức độ phạm vi. Var là phạm vi function(function-scoped) , nhưng let (và const) là phạm vi blocked (block-scoped). Để hiểu sự khác biệt, hãy xem ví dụ này:
function doStuff() { // cả a và b sẽ có sẵn cho hàm này doStuff(), nhưng không có bên ngoài let a = 5; var b = 5; console.log(a + b); // 10 } doStuff(); // 10; console.log(a); // ReferenceError console.log(b); // ReferenceError function doMoreStuff() { if (2 + 2 === 4) { // Ở đây, a sẽ có sẵn cho toàn bộ hàm var a = 5; // Nhưng b sẽ chỉ khả dụng trong khối này let b = 5; } console.log(a); // 5 console.log(b); // ReferenceError } doMoreStuff(); // 5 // ReferenceError for (let i = 0; i < 5; i++) { // i sẽ tăng lên sau mỗi lẫn lặp // và setTimeout sẽ nhận dc i mới mỗi lần lặp setTimeout(() => console.log(i), 100); } /* 0 1 2 3 4 */ for (var j = 0; j < 5; j++) { // j nằm ở phạm vi function // do đó nó ko thay đổi sau mỗi lần lặp và setTimeout trả ra kết quả giống nhau sau mỗi lần lặp setTimeout(() => console.log(j), 100); } /* 5 5 5 5 5 */Sự khác biệt giữa == và === là gì ?
"==" so sánh giá trị.
"===" so sánh giá trị và kiểu dữ liệu.
Ví dụ :
1 == '1'; // true 1 == [1]; // true 1 == true; // true 0 == ''; // true 0 == '0'; // true 0 == false; // trueLời khuyên của tôi là không bao giờ sử dụng toán tử ==, ngoại trừ để thuận tiện khi so sánh với null hoặc undefined, trong đó a == null sẽ trả về true nếu a là null hoặc undefined.
var a = null; console.log(a == null); // true console.log(a == undefined); // trueClosure trong javascript là gì ? Cho ví dụ.
Trong javascript, closure là một hàm tham chiếu các biến có phạm vi ngoài phạm vi của hàm đó.
Nó cho phép bạn truy cập các biến hoặc tham số có phạm vị ngoài phạm vị hàm đó.
Để sử dụng closure, đơn giản là bạn khai báo một function bên trong một function khác và return nó ra.
Ví dụ 1:
function phongVanIT() { let name = 'PhongvanIT'; function callName() { console.log(name); } return callName; } var callFunc = phongVanIT(); callFunc(); // Kết quả: "PhongvanIT"Ví dụ 2:
function phongVanIT(name) { return function(action){ return action + ' ' + name; } } var hello = phongVanIT('PhongvanIT.com'); var love = phongVanIT('PhongvanIT.com'); console.log(hello('Hello')); // Kết quả: "Hello PhongvanIT.com" console.log(love('Love')); // Kết quả: "Love PhongvanIT.com"Các kiểu dữ liệu nguyên thuỷ trong JS là gì?
Kiểu dữ liệu nguyên thuỷ trong JS là dữ liệu không phải là một đối tượng và không có phương thức. Dưới đây là danh sách các kiểu dữ liệu nguyên thuỷ trong JS:
Kiểu nguyên thủy:
- Có 7 kiểu nguyên thủy
- Boolean
- Null
- Undefined
- Number
- BigInt
- String
- Symbol
Kết luận
Cảm ơn bạn đã đọc, tôi chúc bạn may mắn nhất trong cuộc phỏng vấn của mình!
link tham khảo: https://javascript.info/
Từ khóa » Câu Hỏi ôn Tập Javascript
-
20 Câu Hỏi Phỏng Vấn Javascript Dành Cho Intern/Fresher - TopDev
-
43 Câu Hỏi JavaScript Nâng Cao Giúp Trả Lời Phỏng Vấn Mượt Mà Hơn
-
50++ Câu Hỏi Phỏng Vấn JavaScript Cùng Hướng Dẫn Trả Lời
-
250 Câu Hỏi Trắc Nghiệm Javascript, CSS, HTML Có đáp án
-
Các Câu Hỏi Phỏng Vấn Javascript
-
Bộ Câu Hỏi Trắc Nghiệm Về JavaScript Có đáp án P1
-
21 Câu Hỏi Phỏng Vấn JavaScript Cho Beginners (có đáp án) - Blog
-
30 Câu Phỏng Vấn Kỹ Thuật Với Javascript (Phần 1) - CodeLearn
-
9 Câu Hỏi Phỏng Vấn JavaScript Phổ Biến - Ôn Thi HSG
-
[Javascript] Vượt Qua Các Bài Phòng Vấn Javascript. - Blog Của Tài Vũ
-
CÂU HỎI ÔN TẬP ASP-PHP-JAVASCRIPT | Ứng Dụng Tạo Và Chia ...
-
Bộ Đề Câu Hỏi Phỏng Vấn Javascript Phần 3 (Đề Bài Và Hướng Dẫn ...
-
Câu Hỏi Trắc Nghiệm Lập Trình JavaScript
-
Ôn CSS – Javascript Nâng Cao - Hỗ Trợ Học Tập