首页
学习
活动
专区
圈层
工具
发布

JavaScript中如何给localStorage设置一个有效期?

闹钟 你设置的提醒时间,其实也就是它的过期时间; 再比如与您每天切身相关的产品需求,过完需求,你给出的上线时间,也就是这个需求的过期时间; 再通俗点讲,您今年的生日过完到明年生日之间也是相当于设置了有效期时间...expired ,分别对应 键、值、过期时间, 过期时间的单位可以自由发挥,小时、分钟、天都可以, 注意点:存储的值可能是数组/对象,不能直接存储,需要转换 JSON.stringify, 这个时间如何设置呢...expires__`] = Date.now() + 1000*60*expired }; return value; } 重写 get(获取) 方法 获取数据时,先判断之前存储的时间有效期...,与当前的时间进行对比; 但存储时expired为非必须参数,所以默认为当前时间+1,即长期有效; 如果存储时有设置过期时间,且在获取的时候发现已经小于当前时间戳,则执行删除操作,并返回空值; 注意点

2.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JavaScript如何对数字进行千分位货币格式化

    在以前,我一直都是利用正则表达式进行手动插入千分位,比如,写了个这样的方法(注释比较详细): function format_number_thousandth(number){ number...re = /(\d)(\d{3},)/; var reg_insert = new RegExp("(\\d)(\\d{3}" + dh + ")");// 从小数点(已替换为千分符)前,每三位数插入一个千分符...float; return number; } 直到最近,才发现有这么一个方法,一句代码即可实现,她就是Number.prototype.toLocaleString(),她不仅可以插入千分位,...还可以格式化为货币格式,并可以根据设定参数格式化出不同国别的货币格式,而且会自动的采用四舍五入法保留两位小数,是不是很方便呢,下面我们来看看应该怎么来使用她吧。...currency', currency: 'CNY'}) // 执行结果"¥12,345.57" 更详细的用法,可以参考https://developer.mozilla.org/zh-CN/docs/Web/JavaScript

    3.4K20

    「硬核JS」你真的了解垃圾回收机制吗

    JavaScript 引擎又是如何发现并清理它的呢?...内存管理中有一个概念叫做 可达性,就是那些以某种方式可访问或者说可用的值,它们被保证存储在内存中,反之不可访问则需回收 至于如何回收,其实就是怎样发现这些不可达的对象(垃圾)它并给予清理的问题, JavaScript...,这使得一位二进制位(0和1)就可以为其标记,非常简单 「缺点」 标记清除算法有一个很大的缺点,就是在清除之后,剩余的对象内存位置是不变的,也会导致空闲内存空间是不连续的,出现了 内存碎片(如下图),并且由于剩余空闲内存不是一整块...」 归根结底,标记清除算法的缺点在于清除之后剩余的对象位置不变而导致的空闲内存不连续,所以只要解决这一点,两个缺点都可以完美解决了 而 「标记整理(Mark-Compact)算法」 就可以有效地解决,它的标记阶段和标记清除算法没有什么不同...并发回收效率最高 “ 其实,这三种方式各有优缺点,所以在老生代垃圾回收器中这几种策略都是融合使用的 老生代主要使用并发标记,主线程在开始执行 JavaScript 时,辅助线程也同时执行标记操作(标记操作全都由辅助线程完成

    71720

    JavaScript 中 0.1 + 0.2 的精度以及数字类型的整理

    JavaScript 中数字是如何表示的 JavaScript 中的所有数字都是浮点数,使用 64 位二进制来表示,也叫做双精度浮点型,这种方式出自于 IEEE-754 标准。...第一位 1 可以被舍去,只保留小数部分节省一位有效数字。 指数 E 还分为三种情况: E 不全为 0 或不全为 1。...这时,如果有效数字 M 全为 0,表示 ± 无穷大(正负取决于符号位s);如果有效数字 M 不全为 0,表示这个数不是一个数(NaN)。...IEEE 754 中规定: 对于 32 位的浮点数,最高的 1 位是符号位 S,接着的 8 位是指数 E,剩下的 23 位为有效数字 M; 对于 64 位的浮点数,最高的 1 位是符号位 S,接着的11...位是指数 E,剩下的 52 位为有效数字 M。

    1K20

    浮点数精度问题透析:小数计算不准确+浮点数精度丢失根源

    IEEE754 规定,有效数字第一位默认总是1 。因此,在表示精度的位数前面,还存在一个 “隐藏位” ,固定为 1 ,但它不保存在 64 位浮点数之中。...也就是说,有效数字总是 1.xx...xx 的形式,其中 xx..xx 的部分保存在 64 位浮点数之中,最长为52位 。...所以,JavaScript提供的有效数字最长为 53 个二进制位,其内部实际的表现形式为: (-1)^符号位 1.xx...xx 2^指数位 这意味着,JavaScript能表示并进行精确算术运算的整数范围为...也就是说,有效数字总是 1.xx...xx 的形式,其中 xx..xx 的部分保存在 64 位浮点数之中,最长为52位 。...所以,JavaScript提供的有效数字最长为 53 个二进制位 let a=1/3 a.toString();//"0.3333333333333333" a.toString();.length//

    4.1K20

    浮点数精度问题透析:小数计算不准确+浮点数精度丢失根源

    IEEE754 规定,有效数字第一位默认总是1 。因此,在表示精度的位数前面,还存在一个 “隐藏位” ,固定为 1 ,但它不保存在 64 位浮点数之中。...也就是说,有效数字总是 1.xx...xx 的形式,其中 xx..xx 的部分保存在 64 位浮点数之中,最长为52位 。...所以,JavaScript 提供的有效数字最长为 53 个二进制位,其内部实际的表现形式为: (-1)^符号位 * 1.xx...xx * 2^指数位 这意味着,JavaScript 能表示并进行精确算术运算的整数范围为...也就是说,有效数字总是 1.xx...xx 的形式,其中 xx..xx 的部分保存在 64 位浮点数之中,最长为52位 。...所以,JavaScript 提供的有效数字最长为 53 个二进制位 let a=1/3 a.toString();//"0.3333333333333333" a.toString();.length/

    3.7K30

    【学员笔记分享】0基础学逆向笔记精整理(一)

    SF(bit 7)[Sign flag](符号标志) 该标志被设置为有符号整型的最高有效位。...常用的算术,逻辑指令对标志位的影响 加法指令 ADD (addition) 指令对标志位的影响: CF=1 最高有效位向高位有进位 CF=0 最高有效位向高位无进位 OF=1 两个同符号数相加...减法指令 SUB (subtract) 指令对标志位的影响: CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况) CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉...带借位减法指令 SBB (subtract with borrow) 指令对标志位的影响: CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况) CF=0 二进制减法运算中最高有效为向高位无借位...比较指令 CMP (compare) 指令对标志位的影响: CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况) CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=

    1.4K30

    JavaScript性能优化

    ,浪费空间 不会立即回收垃圾对象(清除的时候程序是停止工作的) 标记整理优缺点: 减少碎片化空间 不会立即回收垃圾对象(清除的时候程序是停止工作的) V8 垃圾回收策略 什么是V8: V8是一款主流的JavaScript...执行引擎 V8采用即时编译(一般的JS引擎源代码- 字节码才会执行,而V8会直接翻译成机器码) V8内存设有上限的(64位 ≤ 1.5G;32位 ≤ 800M ) V8垃圾回收策略: 采用分代回收的思想...V8中常用GC算法 分代回收 空间复制 标记清除 标记整理 标记增量 V8如何回收新生代对象 首先我们先看一下V8的内存分配,如下图所示左侧红色区域专门存储新生代存储区,右侧为老生代存储区 V8内存空间一分为二...那么V8如何回收老生代呢?...老生代64位→1.4G , 32位→ 700M 老生代对象就是指存活时间较长的对象(如全局作用域下所存放的变量、闭包的情况下所存储的变量数据) 主要采用:标记清除、标记整理、增量标记算法 首先使用标记清除完成垃圾空间的回收

    1.4K10

    深入理解计算机系统 第二章 笔记

    ,虚拟地址的范围为 0 ~ 2 ^ ω - 1,程序最多访问 2 ^ ω 个字节 字节顺序 最低有效字节在前面的方式,称为小端法 (Android, iOS) 最高有效字节在前面的方式,称为大端法 近代大多数处理器使用双端法...低位丢弃 整数表示 无符号数的编码 一个 x 位的二进制数,最多表示 2 ^ x - 1的十进制 补码编码 最高有效位也称为符号位 符号位为 1 时,表示值为负 符号位为 0 时,表示值为正 ω 位补码所能表示的值得范围...Tmin = -2 ^ (w - 1) Tmax = 2 ^ (w - 1) - 1 注: 设置最高位为负权,其他位清除 和 设置最高位为正,清除其他位 二者的值是相同的,因此补码表示正数的范围比负数小...无符号数的零拓展 将无符号数转换为一个更大的数据类型,我们只要简单地在表示的开头添加 0,这种运算被称为 零拓展 补码数的符号拓展 将一个补码数字转换为一个更大的数据类型,可以执行一个 符号拓展,在表示中添加最高有效位的值...对于单精度是 -126 ~ +127,对于双精度是 -1032 ~ +1023 小数字段 frac 被解释为描述小数值 f,其中 0 最高有效位的左边

    3.7K30

    【C语言】位操作符详解 - 《开心消消乐》

    介绍 位操作符用于在位级别上进行操作。C语言提供了一组位操作符,允许你直接操作整数类型的二进制表示。这些操作符可以有效地处理标志、掩码、位字段等低级编程任务。 2....在 C 语言中,整型数通常以补码形式存储,这意味着最高位(最左边的一位)表示符号位:0 表示正数,1 表示负数。下面是详细解释。...对于 16 位有符号整数,最高位(最左边的位)是符号位。0 表示正数,1 表示负数。 1111111111111010 是一个负数,因为最高位是 1。...右移一位相当于除以2,若最高位是1则补1(算术右移),若最高位是0则补0(逻辑右移)。...1 printf("Result = 0x%X\n", result); return 0; } 输出 Result = 0xBB 4.3 清除特定位 我们可以使用按位与操作符结合按位取反操作符来清除特定位

    48210

    前端面试题-HTML+CSS

    DOCTYPE>只有一种 SGML: 标准通用标记语言,是现时常用的超文本格式的最高层次标准 2....渲染引擎主要负责取得网页的内容、整理讯息、计算网页的显示方式等,JS 引擎则是解析 Javascript 语言,执行 javascript 语言来实现网页的动态效果。...,否则将会永久保存 仅在当前网页会话下有效,关闭页面或浏览器后就会被清除 存放数据大小 4KB 左右 可以保存 5MB 的信息 可以保存 5MB 的信息 http 请求 每次都会携带在 HTTP 头中,...清除浮动,什么时候需要清除浮动,清除浮动都有哪些方法 浮动的元素是脱离文档标准流的,如果我们不清楚浮动,那么就会造成父元素高度塌陷,影响页面布局。...BFC:块级格式化上下文,创建了 BFC 的元素就是一个独立的盒子,它规定了内部如何布局,并且与这个独立盒子里的布局不受外部影响,当然它也不会影响到外面的元素,计算 BFC 的高度时,浮动元素也参与计算

    1.4K30
    领券