Một câu nói nổi tiếng rằng: Trên đời chỉ có thứ nhiều người chửi và thứ không ai thèm dùng.
JavaScript là một ví dụ tiêu biểu cho điều này. Mặc dù có nhiều điểm thú vị, việc thực hành JavaScript đôi khi có thể khiến chúng ta đau đầu. Lý thuyết có thể dễ hiểu nhưng thực hành là một câu chuyện khác. Trong bài viết này, mình sẽ cùng các bạn đi sâu vào các ví dụ cụ thể, phân tích và làm sáng tỏ các khía cạnh của JavaScript.
Series này có thể kéo dài một chút, vì vậy mình sẽ cố gắng giải thích các khái niệm một cách dễ hiểu nhất có thể. Nếu bạn chưa đọc các kỳ trước, đừng lo. Mình sẽ nhắc lại các lý thuyết cần thiết để các bạn nắm vững được nội dung trong bài viết này. Hãy cùng mình bắt đầu! GÉT GÔ 🚀
Nếu bạn có bất kỳ câu hỏi nào, đừng ngần ngại để lại một bình luận nhé. Hoặc chỉ cần để lại một câu chào mình cũng đã đủ để thêm động lực cho mình hoàn thành series này. Cảm ơn các bạn rất nhiều. 🤗
1. Khám Phá Hàm eval trong JavaScript
Giá trị của sum
sẽ là gì?
javascript
const sum = eval("10*10+5");
- A:
105
- B: "105"
- C:
TypeError
- D: "10*10+5"
Đáp án là: A
1.1. Hàm eval là gì?
Hàm eval
trong JavaScript cho phép thực thi một đoạn mã JavaScript được truyền dưới dạng chuỗi. Đoạn mã này sẽ được đánh giá và thực hiện. Ví dụ:
javascript
const result = eval("2 + 2");
console.log(result); // Kết quả: 4
1.2. Phân Tích Đoạn Code
Đoạn mã trên đưa sum
vào hàm eval
với biểu thức "10*10+5". Kết quả của phép tính này là 105.
Vì vậy, giá trị của biến sum
là 105, tương ứng với đáp án A.
1.3. Lưu Ý Khi Sử Dụng eval
Hãy nhớ rằng eval
có thể gây rủi ro bảo mật nếu sử dụng với dữ liệu không đáng tin cậy. Tốt nhất là tránh dùng eval
nếu không thực sự cần thiết.
2. Lưu Trữ Dữ Liệu với sessionStorage
Biến cool_secret
sẽ tồn tại trong bao lâu?
javascript
sessionStorage.setItem("cool_secret", 123);
- A: Mãi mãi, dữ liệu sẽ không bao giờ mất.
- B: Khi người dùng đóng tab lại.
- C: Khi người dùng đóng trình duyệt.
- D: Khi người dùng tắt máy tính.
Đáp án là: B
2.1. sessionStorage là gì?
sessionStorage
là một phần của Web Storage API giúp lưu trữ dữ liệu dạng key-value. Đặc điểm của nó là dữ liệu chỉ tồn tại trong phiên làm việc của người dùng.
2.2. Thời Gian Tồn Tại của Dữ Liệu trong sessionStorage
Khi người dùng đóng tab hoặc cửa sổ trình duyệt, dữ liệu trong sessionStorage
sẽ bị xóa.
2.3. So Sánh Với localStorage
Nếu cần lưu trữ dữ liệu lâu dài hơn, localStorage
sẽ là lựa chọn tối ưu, vì dữ liệu sẽ không bị mất khi đóng trình duyệt.
3. Khai Báo Biến Với var
Kết quả sẽ là gì?
javascript
var num = 8;
var num = 10;
console.log(num);
- A:
8
- B:
10
- C:
SyntaxError
- D:
ReferenceError
Đáp án là: B
3.1. Khai Báo Biến Với var
JavaScript cho phép khai báo lại biến với từ khóa var
mà không gặp lỗi. Khi khai báo lại, giá trị của biến sẽ được cập nhật thành giá trị mới.
4. Kiểm Tra Sự Tồn Tại Của Key Trong Object và Set
Kết quả sẽ ra sao?
javascript
const obj = { 1: "a", 2: "b", 3: "c" };
const set = new Set([1, 2, 3, 4, 5]);
obj.hasOwnProperty("1");
obj.hasOwnProperty(1);
set.has("1");
set.has(1);
- A:
true false false true
- B:
false true true true
- C:
true true false true
- D:
true true true true
Đáp án là: C
5. Ghi Đè Thuộc Tính Trong Object
Kết quả sẽ là gì?
javascript
const obj = { a: "one", b: "two", a: "three" };
console.log(obj);
- A:
{ a: "one", b: "two" }
- B:
{ b: "two", a: "three" }
- C:
{ a: "three", b: "two" }
- D:
SyntaxError
Đáp án là: C
Hy vọng bài viết này đã giúp bạn có cái nhìn rõ hơn về JavaScript, từ hàm eval, sessionStorage cho đến quản lý biến. Hãy tiếp tục theo dõi các phần tiếp theo trong series "JavaScript Nâng Cao" nhé! 😉
source: viblo