Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> HTML

Kiểm tra khóa tồn tại trong HTML5 Local Storage

Để kiểm tra xem một khóa (key) có tồn tại trong localStorage hay không, có 2 cách phổ biến:

Cách 1: Dùng getItem() và so sánh với null

if (localStorage.getItem("user") === null) {
  // Khóa "user" KHÔNG tồn tại
} else {
  // Khóa "user" TỒN TẠI
  var userData = localStorage.getItem("user");
}

getItem(key) trả về null nếu khóa không tồn tại, ngược lại trả về giá trị (string).

Cách 2: Dùng toán tử in (ngắn gọn hơn)

if ("user" in localStorage) {
  alert('Có khóa "user"');
} else {
  alert('Không có khóa "user"');
}

Toán tử in kiểm tra sự tồn tại của property trên object localStorage.

So sánh 2 cách

Tiêu chígetItem() === null"key" in localStorage
Độ dài codeDài hơnNgắn gọn
Đọc được giá trịCó (trong cùng lệnh)Không (chỉ check tồn tại)
Hiệu năngTương đươngTương đương
Khuyến nghịKhi cần lấy giá trị ngayKhi chỉ cần check boolean

Các thao tác khác với localStorage

// Lưu dữ liệu (chỉ lưu string)
localStorage.setItem("key", "value");
localStorage.setItem("user", JSON.stringify({name: "An", age: 25}));

// Lấy dữ liệu
var val = localStorage.getItem("key");
var user = JSON.parse(localStorage.getItem("user"));

// Xóa 1 khóa
localStorage.removeItem("key");

// Xóa TẤT CẢ
localStorage.clear();

// Số lượng khóa
var count = localStorage.length;

// Lấy khóa theo index
var keyName = localStorage.key(index);

Lưu ý quan trọng

  • localStorage chỉ lưu string. Object/Array phải JSON.stringify() trước khi lưu.
  • Dung lượng giới hạn: ~5-10MB tùy trình duyệt.
  • Chỉ truy cập được từ cùng origin (protocol + domain + port).
  • Không có expiration time (khác với cookie).