放肆青春的博客
首页
前端
算法
网络
面试
技术
后端
运维
杂项
数据库
工具
网址
电脑
个人
文章
  • 分类
  • 标签
  • 归档
github (opens new window)
gitee (opens new window)

放肆青春

一个前端菜鸟的技术成长之路
首页
前端
算法
网络
面试
技术
后端
运维
杂项
数据库
工具
网址
电脑
个人
文章
  • 分类
  • 标签
  • 归档
github (opens new window)
gitee (opens new window)
  • 前端

    • 前端 概览
    • 前端汇总

    • front 博文

    • front 项目总结

    • front 高级

    • front tools

  • vue

    • vue 概览
    • vue 汇总

    • vue 博文

    • vue 项目总结

    • vue 高级

  • html

    • html 概览
    • html 汇总

    • html 博文

  • css

    • css 概览
    • css 汇总

    • css 博文

    • sass

    • less

  • js

    • javascript 概览
    • JS 汇总

    • ES6

    • JS 博文

    • JS 工具

      • js工具
      • 图片工具
      • compute
      • 日期工具
      • moment日期工具
      • 存储工具
        • js localStorage工具
  • node

    • node 概览
    • node 汇总

    • node 框架

    • node 博文

  • react

    • react 概览
    • react 汇总

    • react 博文

    • react 高级

  • 微信小程序

    • 微信小程序 概览
    • 微信小程序总结
    • 微信小程序文章
    • 微信小程序 博文

    • 微信小程序 高级

  • 微信公众号

    • 微信公众号 概览
    • 微信公众号总结
    • 微信公众号文章
  • 多端开发

    • 多端开发
    • dsbridge 概览
    • jsbridge 概览
    • webview
    • uniapp

      • uniapp 概览
    • taro

      • taro 概览
    • flutter

      • flutter 概览
      • flutter 环境搭建
    • electron

      • electron 概览
  • front
放肆青春
2020-07-09

存储工具

# js localStorage工具

/*******************************************************
 * 设置sessionStorage缓存
 * @param  {String}        key   缓存对象key
 * @param  {String/Object} value 缓存对象value
 * @return {Boolean}             是否保存成功 true/false
 *******************************************************/
export const setSStorage = function (key, value) {
  if (arguments.length !== 2) return false;
  let v = value;
  if (typeof v === 'object') {
    v = JSON.stringify(v);
    v = 'ri-obj-' + v;
  } else {
    v = 'ri-str-' + v;
  }
  let ss = sessionStorage;
  if (ss) {
    ss.setItem(key, v);
  } else { return false; }
  return true;
};

/*********************************************
 * 获取sessionStorage缓存
 * @param  {String}        key   缓存对象key
 * @return {String/Object}       缓存对象value
 *********************************************/
export const getSStorage = function (key) {
  let ss = sessionStorage;
  if (ss) {
    let v = ss.getItem(key);
    if (!v) { return false; }
    if (v.indexOf('ri-obj-') === 0) {
      v = v.slice(7);
      return JSON.parse(v);
    } else if (v.indexOf('ri-str-') === 0) {
      return v.slice(7);
    } else { return false; }
  } else { return false; }
};

/*******************************************
 * 删除sessionStorage缓存
 * @param  {String} key  缓存对象key
 * @return {Boolean}     是否删除成功 true/false
 *******************************************/
export const removeSStorage = function (key) {
  let ss = sessionStorage;
  if (ss && key) {
    ss.removeItem(key);
    return true;
  } else { return false; }
};

/***************************************
 * 清理sessionStorage缓存
 * @return {Boolean} 是否清理成功 true/false
 ***************************************/
export const clearSStorage = function () {
  let ss = sessionStorage;
  if (ss) {
    ss.clear();
    return true;
  } else { return false; }
}

/*******************************************************
 * 设置localStorage缓存
 * @param  {String}        key   缓存对象key
 * @param  {String/Object} value 缓存对象value
 * @return {Boolean}             是否保存成功 true/false
 *******************************************************/
export const setLStorage = function (key, value) {
  if (arguments.length !== 2) return false;
  let v = value;
  if (typeof v === 'object') {
    v = JSON.stringify(v);
    v = 'ri-obj-' + v;
  } else {
    v = 'ri-str-' + v;
  }
  let ls = localStorage;
  if (ls) {
    ls.setItem(key, v);
  } else { return false; }
  return true;
};

/*********************************************
 * 获取localStorage缓存
 * @param  {String}        key   缓存对象key
 * @return {String/Object}       缓存对象value
 *********************************************/
export const getLStorage = function (key) {
  let ls = localStorage;
  if (ls) {
    let v = ls.getItem(key);
    if (!v) { return false; }
    if (v.indexOf('ri-obj-') === 0) {
      v = v.slice(7);
      return JSON.parse(v);
    } else if (v.indexOf('ri-str-') === 0) {
      return v.slice(7);
    } else { return false; }
  } else { return false; }
};

/*******************************************
 * 删除localStorage缓存
 * @param  {String} key  缓存对象key
 * @return {Boolean}     是否删除成功 true/false
 *******************************************/
export const removeLStorage = function (key) {
  let ls = localStorage;
  if (ls && key) {
    ls.removeItem(key);
    return true;
  } else { return false; }
};

/***************************************
 * 清理localStorage缓存
 * @return {Boolean} 是否清理成功 true/false
 ***************************************/
export const clearLStorage = function () {
  let ls = localStorage;
  if (ls) {
    ls.clear();
    return true;
  } else { return false; }
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
更新时间: 3/26/2021, 9:15:55 AM
moment日期工具
node 概览

← moment日期工具 node 概览→

最近更新
01
前端权限管理
02-24
02
vue2指令
02-24
03
vue2 hook
02-24
更多文章>
Theme by Vdoing | Copyright © 2019-2022 放肆青春
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式