1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/songjinyang-everyday

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

ежедневник

Описание

Каждый день задача "good good study, day day up" Каждую неделю 5 задач Тестирование: рано закончено

Задача 40

// Как реализовать функцию истечения времени при имитации localStorage
let obj = {
  // Сохраняем здесь
  cc: {},
  setItem: function(key, value, time) {
    this.cc[key] = value
    if (time) {
      setTimeout(() => {
        this.removeItem(key)
      }, time)
    }
  },
  getItem: function(key) {
    return this.cc[key] || null
  },
  removeItem: function(key) {
    delete this.cc[key]
  },
  clear() {
    this.cc = {}
  }
}
obj.setItem('time', 'время о время', 3000)
console.log(obj.getItem('time'))
setTimeout(() => {
  console.log(obj.getItem('time'))
}, 4000)
// Другой способ записи
const cd = (function() {
  let cc = {} // Сохраняем здесь
  return {
    setItem: function(key, value, time) {
      cc[key] = value
      if (time) {
        console.log(typeof time)
        if (typeof time != 'number') throw 'время должно быть числом'
        setTimeout(res => {
          this.removeItem(key)
        })
      }
    },
    getItem: key => cc[key] || null,
    removeItem: key => delete cc[key],
    clear: () => (cc = {})
  }
})()
Object.defineProperty(Object.prototype, 'my', {
  value: cd
})
let ddd = '哇咔咔'
let zzz = 'zzzzz'
my.setItem('xx', ddd)
my.setItem('zzz', zzz, 2000)
console.log(my.getItem('xx'))
my.removeItem('xx')
console.log(my.getItem('xx'))
console.log(my.getItem('zzz'))
my.clear()
console.log(my.getItem('zzz'))
setTimeout(res => {
  console.log(my.getItem('zzz'))
}, 4000)
Анализ задачи 40
Просмотреть все задачи

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Задание каждый день Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/songjinyang-everyday.git
git@api.gitlife.ru:oschina-mirror/songjinyang-everyday.git
oschina-mirror
songjinyang-everyday
songjinyang-everyday
master