iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >JS项目中如何对本地存储进行二次封装
  • 649
分享到

JS项目中如何对本地存储进行二次封装

2023-07-02 16:07:33 649人浏览 薄情痞子
摘要

今天小编给大家分享一下js项目中如何对本地存储进行二次封装的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言平时在开发的中,

今天小编给大家分享一下js项目中如何对本地存储进行二次封装的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

前言

平时在开发的中,发现身边同事在使用localStoragesessionStorage的时候,喜欢在代码里面直接调用,举个的栗子:

function login() {    //...请求    const userInfo = {userId: 123, userName: '张三'}    sessionStorage.setItem('userInfo', JSON.stringify(userInfo))}function getUserInfo() {    return JSON.parse(sessionStorage.getItem('userInfo'))}

并不是觉得直接调用不好,但总觉得这种写法不够语义化,于是将其进行封装,这里参考了后端java同事的实体类的逻辑。

定义恒量的键名

这里我们将要使用到的key存储下来,新建一个叫constant-storage.js的文件,对外暴露一些key的键名,也方便后期统一修改,这里因为都是恒量,所以名称我们都用大写表示。

export const USER_INFO = 'userInfo'

下层实现

这里我们开始定义处理localStoragesessionStorage的类,首先给这个类定义基本的存储方法,setgetclear,对最基本的逻辑进行一个封装,这里用sessionStorage做个例子:

class Session {  constructor() {    this.store = window.sessionStorage  }  set(key, value) {    this.store.setItem(key, value)  }  get(key) {    return this.store.getItem(key)  }  clear(key) {    this.store.removeItem(key)  }  clearAll() {    this.store.clear()  }}

然后我们在开始封装一些业务功能,例如存取用户信息userInfo,从恒量中取出key,再将这个类,实例化暴露出去供外部调用。

import { USER_INFO } from './constant-storage'class Session {  constructor() {    this.store = window.sessionStorage  }  set(key, value) {    this.store.setItem(key, value)  }  get(key) {    return this.store.getItem(key)  }  clear(key) {    this.store.removeItem(key)  }  clearAll() {    this.store.clear()  }  // 用户信息  getUserInfo() {    const userInfo = this.get(USER_INFO)    return userInfo ? JSON.parse(userInfo) : null  }  setUserInfo(userInfo) {    this.set(USER_INFO, JSON.stringify(userInfo))  }  clearUserInfo() {    this.clear(USER_INFO)  }}const session = new Session()export default session

上层调用

引入我们暴露的实例,再回头看看我们直接对用户信息的存储操作。

import session from './session'function login() {    //...请求    const userInfo = {userId: 123, userName: '张三'}    session.setUserInfo(userInfo)}function getUserInfo() {    return session.getUserInfo()}

以上就是“JS项目中如何对本地存储进行二次封装”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: JS项目中如何对本地存储进行二次封装

本文链接: https://www.lsjlt.com/news/343107.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JS项目中如何对本地存储进行二次封装
    今天小编给大家分享一下JS项目中如何对本地存储进行二次封装的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言平时在开发的中,...
    99+
    2023-07-02
  • JS项目中对本地存储进行二次的封装的实现
    目录前言定义恒量的键名下层实现上层调用总结前言 平时在开发的中,发现身边同事在使用localStorage和sessionStorage的时候,喜欢在代码里面直接调用,举个的栗子: ...
    99+
    2024-04-02
  • 小程序中如何对网络请求进行二次封装
    这篇文章主要介绍了小程序中如何对网络请求进行二次封装,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、背景在做微信小程序开发的时候难免会涉及到网络请求操作,小程序提供的原生网...
    99+
    2023-06-25
  • 如何利用Typescript封装本地存储
    目录前言本地存储使用场景使用中存在的问题解决方案功能实现加入过期时间加入数据加密加入命名规范完整代码总结前言 本地存储是前端开发过程中经常会用到的技术,但是官方api在使用上多有不便...
    99+
    2024-04-02
  • 如何在java项目组中进行封装
    今天就跟大家聊聊有关如何在java项目组中进行封装,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。java 中的封装介绍及使用方法在面向对象程式设计方法中,封装(英语:Encapsul...
    99+
    2023-05-31
    java ava
  • 如何在Java项目中利用post请求对Json进行封装
    如何在Java项目中利用post请求对Json进行封装?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。直接上代码String longUrl = ...
    99+
    2023-05-31
    json java post
  • 如何使用phonegap进行本地存储
    这篇文章主要介绍了如何使用phonegap进行本地存储,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。实例如下:<!DOCTYPE&nb...
    99+
    2024-04-02
  • vue2项目中如何封装echarts地图
    这篇文章主要介绍了vue2项目中如何封装echarts地图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue2项目中如何封装echarts地图文章都会有所收获,下面我们一起来看看吧。效果图先上个效果图吧,说明...
    99+
    2023-06-29
  • 如何在python3项目中对IP地址进行判断
    本篇文章给大家分享的是有关如何在python3项目中对IP地址进行判断,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python是什么意思Python是一种跨平台的、具有解释性...
    99+
    2023-06-06
  • Windows 上的 Git 存储:如何在 Python 项目中进行有效的版本控制?
    版本控制是软件开发过程中的一个重要环节,它可以帮助开发者记录代码的变化和协作开发。Git 是一个广泛使用的分布式版本控制系统,它可以帮助开发者进行代码管理、版本控制和协作开发。在 Windows 上使用 Git 存储,可以让 Python...
    99+
    2023-07-07
    存储 git windows
  • ASP、存储、Spring和Unix:如何在项目中进行最佳实践?
    在软件开发中,使用最佳实践是非常重要的。它可以提高代码的质量、可维护性和可扩展性。本文将介绍如何在ASP、存储、Spring和Unix等技术中使用最佳实践。 ASP最佳实践 ASP是一种Web开发技术,它可以用于创建动态Web应用程序。以...
    99+
    2023-10-18
    存储 spring unix
  • 在Java项目中如何对进制进行转换
    在Java项目中如何对进制进行转换?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。十进制转成十六进制: Integer.toHexString(int i) 十进...
    99+
    2023-05-31
    java ava 目中
  • MySQL中如何进行大文本存储压缩
    今天小编给大家分享一下MySQL中如何进行大文本存储压缩的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来...
    99+
    2023-02-13
    mysql
  • ASP、存储、Spring和Unix:如何在项目中进行优化和调试?
    在软件开发项目中,优化和调试是必不可少的步骤。这些步骤可以帮助开发人员更好地了解其代码,并确保其代码在生产环境中正常运行。本文将介绍如何在ASP、存储、Spring和Unix等技术中进行优化和调试。 ASP优化和调试 ASP是一种服务器端...
    99+
    2023-10-18
    存储 spring unix
  • LocalCache在Java项目中如何实现本地缓存
    今天就跟大家聊聊有关LocalCache在Java项目中如何实现本地缓存,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、本地缓存应用场景localcache有着极大的性能优势: 单...
    99+
    2023-05-31
    本地缓存 localstorage java
  • 如何在PHP中使用Memcache缓存技术进行二进制数据存储
    随着互联网应用的不断发展,数据的访问速度越来越成为人们关注的焦点。为了提高数据的访问速度,缓存技术成为了解决方案之一。而在PHP中,Memcache缓存技术被广泛应用于实现数据的缓存,特别是二进制数据的缓存。本文将介绍如何在PHP中使用Me...
    99+
    2023-05-15
    PHP Memcache缓存技术 二进制数据存储
  • 如何使用HTML5 Web存储的localStorage和sessionStorage方式进行Web页面数据本地存储
    这篇文章主要介绍了如何使用HTML5 Web存储的localStorage和sessionStorage方式进行Web页面数据本地存储,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大...
    99+
    2024-04-02
  • 在java项目中如何对csv数据进行分割
    在java项目中如何对csv数据进行分割?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。java 分割csv数据的实例详解实际需要解析的csv中很多都是从excel中转过来的,数...
    99+
    2023-05-31
    java ava csv
  • 如何在Android项目中使用ViewPager对radiogroup进行关联
    如何在Android项目中使用ViewPager对radiogroup进行关联?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Android ViewPager与radiog...
    99+
    2023-05-31
    android viewpager radiogroup
  • Android项目中如何使用adapter对数据进行处理
    本篇文章给大家分享的是有关Android项目中如何使用adapter对数据进行处理,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。具体如下:package com.cvte.ap...
    99+
    2023-05-31
    android adapter roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作