Слияние кода завершено, страница обновится автоматически
Каждый день задача "good good study, day day up" Каждую неделю 5 задач Тестирование: рано закончено
// Как реализовать функцию истечения времени при имитации 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)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )