0
0
Lập trình
Flame Kris
Flame Krisbacodekiller

JavaScript Nâng Cao - Phần 5: Tìm Hiểu Hàm eval, sessionStorage và Quản Lý Biến

Đăng vào 3 tuần trước

• 3 phút đọc

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 Copy
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 Copy
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 Copy
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 Copy
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 Copy
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 Copy
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

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào