内部调用 localStorage 接口,封装一个类 MyStorage

封装一个类 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 文档
https://developer.mozilla.org/zh-CN/docs/Web/API/Storage
Storage.length 属性表示存储数量;Storage.key(n)返回索引 n 的 key 值。