洛笙2022 2022-06-17 21:07 采纳率: 100%
浏览 314
已结题

内部调用 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 值。

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 6月25日
    • 创建了问题 6月17日

    悬赏问题

    • ¥15 微信小程序 用oss下载 aliyun-oss-sdk-6.18.0.min client报错
    • ¥15 ArcGIS批量裁剪
    • ¥15 labview程序设计
    • ¥15 为什么在配置Linux系统的时候执行脚本总是出现E: Failed to fetch http:L/cn.archive.ubuntu.com
    • ¥15 Cloudreve保存用户组存储空间大小时报错
    • ¥15 伪标签为什么不能作为弱监督语义分割的结果?
    • ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
    • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
    • ¥15 android 集成sentry上报时报错。
    • ¥15 抖音看过的视频,缓存在哪个文件