当前位置: 代码迷 >> 综合 >> sessionStorage 存、取、删除、清空数据方法封装
  详细解决方案

sessionStorage 存、取、删除、清空数据方法封装

热度:88   发布时间:2024-02-13 06:55:06.0

 存数据:sessionStorageSet


  
  1. // 存数据
  2. export const sessionStorageSet = (name, obj) => {
  3. if ( typeof obj === 'undefined') {
  4. return false
  5. }
  6. // obj为undefined或null或空字符串不能存储,布尔值可存储,但取时为字符串
  7. if(!obj && ( typeof obj === 'undefined' || typeof obj === 'object' || typeof obj === 'string')) {
  8. return false
  9. }
  10. let saveStr = ''
  11. if ( typeof obj === 'object') {
  12. saveStr = JSON.stringify(obj)
  13. } else {
  14. saveStr = obj
  15. }
  16. sessionStorage.setItem(name, saveStr)
  17. return true
  18. }

取数据:sessionStorageGet


  
  1. // 取数据
  2. export const sessionStorageGet = (name) => {
  3. if ( typeof name !== 'string') {
  4. return
  5. }
  6. var savedStr = sessionStorage.getItem(name)
  7. // 非法值返回,包括undefined、null、空字符串
  8. if (!savedStr) {
  9. return
  10. }
  11. var result
  12. if ((savedStr.indexOf( '"') < 0 && savedStr.indexOf( '\'') < 0) || savedStr.indexOf( ':') < 0) {
  13. return savedStr
  14. }
  15. try {
  16. result = JSON.parse(savedStr)
  17. return result
  18. } catch (e) {
  19. return savedStr
  20. }
  21. }

删除某项缓存数据:sessionStorageRemove


  
  1. export const sessionStorageRemove = (name) => {
  2. if ( typeof name !== 'string') {
  3. return
  4. }
  5. sessionStorage.removeItem(name)
  6. }

清除本地所有存储数据:sessionStorageClear


  
  1. export const sessionStorageClear = (name) => {
  2. if (name) {
  3. return
  4. }
  5. sessionStorage.clear()
  6. }

 

  相关解决方案