Объект localStorage хранит данные без срока годности. Данные не будут удалены при закрытии браузера и будут доступны на следующий день, неделю или год - до тех пор, пока не будут удалены веб-сайтом или пользователем.

localStorage хранит данные в виде пар ключ/значение. Все данные хранятся в виде строки и все добавленные данные в хранилище неявно преобразуются в строку. Преобразовать данные в требуемый тип можно при извлечении. Методы JSON.parse() и JSON.stringify() можно использовать для преобразования данных объекта из/в хранилище.

Добавить данные в локальное хранилище можно следующим способом:

localStorage.setItem("testlocal", "тестовые данные");

Добавить JSON-объект в хранилище:

var testObject = { 'one': 1, 'two': 2, 'three': 3 };
localStorage.setItem('testObject', JSON.stringify(testObject));

Удалить данные из хранилища:

localStorage.removeItem("testlocal");
localStorage.clear(); //  полностью очистит хранилище

Считать данные из хранилища:

console.log(localStorage.getItem("testlocal"));

Распарсить JSON данные из хранилища:

var retrievedObject = localStorage.getItem('testObject');
console.log(JSON.stringify(retrievedObject));

Посмотреть localStorage в браузере и поуправлять им можно в окне инструментов разработчика (F12 в Chrome) во вкладке "Application":

localstorage в chrome

Объект localStorage доступен всем окнам из одного источника, поэтому, если мы устанавливаем данные в одном окне, изменения становятся видимыми в другом.