Storage: phương thức setItem()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Phương thức setItem() của giao diện Storage, khi được truyền vào tên khóa và giá trị, sẽ thêm khóa đó vào đối tượng Storage đã cho, hoặc cập nhật giá trị của khóa nếu nó đã tồn tại.

Cú pháp

js
setItem(keyName, keyValue)

Tham số

keyName

Một chuỗi chứa tên của khóa mà bạn muốn tạo hoặc cập nhật.

keyValue

Một chuỗi chứa giá trị mà bạn muốn gán cho khóa đang được tạo hoặc cập nhật.

Giá trị trả về

Không có (undefined).

Ngoại lệ

QuotaExceededError

Được ném ra nếu bộ lưu trữ hết hạn mức đĩa hoặc người dùng từ chối cấp thêm dung lượng.

Ví dụ

Hàm sau tạo ba mục dữ liệu trong local storage.

js
function populateStorage() {
  localStorage.setItem("bgcolor", "red");
  localStorage.setItem("font", "Helvetica");
  localStorage.setItem("image", "myCat.png");
}

Note: Để xem ví dụ thực tế, hãy xem Web Storage Demo.

Storage chỉ hỗ trợ lưu trữ và truy xuất chuỗi. Nếu bạn muốn lưu các kiểu dữ liệu khác, bạn phải chuyển chúng thành chuỗi. Với đối tượng thuần và mảng, bạn có thể dùng JSON.stringify().

js
const person = { name: "Alex" };
localStorage.setItem("user", person);
console.log(localStorage.getItem("user")); // "[object Object]"; không hữu ích!
localStorage.setItem("user", JSON.stringify(person));
console.log(JSON.parse(localStorage.getItem("user"))); // { name: "Alex" }

Tuy nhiên, không có cách chung nào để lưu các kiểu dữ liệu tùy ý. Hơn nữa, đối tượng được truy xuất là một bản sao sâu của đối tượng gốc và các thay đổi trên nó không ảnh hưởng đến đối tượng gốc.

Thông số kỹ thuật

Thông số kỹ thuật
HTML
# dom-storage-setitem-dev

Tương thích trình duyệt

Xem thêm