前端H5封装类MyStorage

(1)前端开发中,有一些功能 localStorage 无法满足开发需要,现在要完成以下封装任务,封装一个类 MyStorage,其内部调用 localStorage 接口完成对应操作,MyStorage 要实现以下方法:

  • MyStorage.prototype.set(key, value)
    设置 localStorage 存储, 如果 value 是 object , 则自动进行
    JSON.stringify 处理。
    key 是 String 类型。

-MyStorage.prototype.get(key)
获取对应key 的 value 值。key 是 String 类型。

-MyStorage.prototype.jget(key)
获取对应key 的 JSON.parse 后的结果。key 是String 类型。

-MyStorage.prototype.match(key_pre)
匹配对应的key 前缀,并返回所有匹配的数据。key_pre 是 String 类型。
match('xyz')可以把所有key 值前缀是xyz 的数据匹配出来。返回值是Object 类型。

-MyStorage.prototype.remove(key)
删除对应key 的 localStorage 存储。key 是String 类型。

-MyStorage.prototype.removeMatch(key_pre)
删除对应key 前缀的存储数据。比如在localStorage 中存在以下键值对:
'X001': 'qwewqe',
'X002': 'r2rsdf',
'Y004': 'er34t'
则调用removeMatch('X')会删除key 的前缀是X 的所有存储。
key_pre 是String 类型。

要求:class 命名必须是 MyStorage。程序必须可以运行。MyStorage 类正确实现以后,可以通过以下代码使用:
let stg = new MyStorage();
stg.set('name', 'JavaScript'); stg.set('info', {age: 12, name: '小明'});
以上代码是类的使用示例。学生要根据要求和理解实现MyStorage 类。

提示:参考MDN 文档
h ttps://developer.mozilla.org/zh-CN/docs/Web/API/Storage Storage.length 属性表示存储数量;Storage.key(n)返回索引n 的key 值。