面试官:实现localStorage缓存功能叭。

225 阅读1分钟

需要注意的点:实现localStorage的四个操作即可---get、set、remove、clear。


class Storage {
    constructor(express) {
        this.express = express;
    }

    set(key, value, express) {
        let obj = {
            data: value,
            cTime: Date.now(),
            express: express || this.express
        };
        localStorage.setItem(key, JSON.stringify(obj))
    }

    get(key) {
        let item = localStorage.getItem(key);
        if (!item) {
            return null;
        }
        item = JSON.parse(item);
        let nowTime = Data.now();
        if (item.express && item.express < (nowTime - item.cTime)) {
            this.remove(key);
            return null
        } else {
            return item.data;
        }
    }

    remove(key) {
        localStorage.removeItem(key)
    }

    clear() {
        localStorage.clear();
    }
}

//测试
const storage = new Storage(24 * 60 * 60 * 1000);

storage.set('name', 'nan')

storage.set('age', 18, 60 * 1000)

const _storage = new Storage();

_storage.set('age', 18, 60 * 1000)

记录记录!