1. 浅析cookie sessionStorage localStorage
详请->
cookie、Web Storage
同:
- 保存在浏览器端
- 都有同源限制(cookie:与特定域绑定,不被其他域访问;sessionStorage:与会话绑定;localStorage:来自相同域,子域不行)
异:
- 所有cookie都会作为请求头部由浏览器发送给服务器(在浏览器与服务器之间来回传递);webStorage只存在浏览器本地;
- 存储空间大小不同,cookie一般只有4kb;webStorage的大小由浏览器限制,一般有5MB;
- 生命周期不同。cookie可设置过期时间;localStorage没有手动清除就会一直在;sessionStorage在会话结束时被清掉
- 应用场景不。Cookie一般用于存储登录验证信息SessionID或者token,LocalStorage常用于存储不易变动的数据,减轻服务器的压力,SessionStorage可以用来检测用户是否是刷新进入页面,如音乐播放器恢复播放进度条的功能。
2. *浅析js数据类型
详请->
JS数据类型(undefined、null、boolean、number、bigInt、string、symbol、object,8种)
js数据类型分两类:
- 简单数据类型(7种):undefined、null、boolean、number、bigInt、string、symbol
- 复杂数据类型(1种):object
(二者最大区别就是他们在内存中的存储方式不同,简单数据类型直接存储在栈中的简单数据,占据空间小;复杂数据类型存储在堆内存中,占用空间大,存取涉及指针)
注意:
BigInt和Symbol都是后面新加的数据类型,实际运用上比较少。
js中Numberr类型只能安全的表示-253+1 和 253-1 任何超出此范围的整数值都可能失去精度。BigInt 是一种内置对象,它提供了一种方法来表示超出 [-253+1, 253-1] 范围的整数。BigInt 可以用任意精度表示整数。
- BigInt 和 Number 不是严格相等的,但是宽松相等的;
- BigInt和Number之间不能进行混合操作;
- 最好Number和BigInt不要互相转换
Symbol是原始值,且Symbol实例是唯一、不可变的 。Symbol的用途是确保对象属性使用唯一标识符,不会发生属性冲突的危险。Symbol就是用来创建唯一记号,进而作用非字符串形式的对象属性。可以作为object的key。
3. 浅析js中的闭包
详请->
闭包
闭包指那些引用了另一个函数作用域中变量的函数,通常是在嵌套函数中实现的。
- 闭包形成的原理:作用域链。只要是代码都一个作用域中,写在函数内部的局部作用域,未写在任何函数内部即在全局作用域中;如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域;根据在 [内部函数可以访问外部函数变量] 的这种机制,用链式查找决定哪些数据能被内部函数访问,就称作 作用域链。就近原则。
- 闭包带来的问题:由于垃圾回收器不会将闭包中变量销毁,于是就造成了内存泄露,内存泄露积累多了就容易导致内存溢出。
4. *浅析Promise
详请->
Promise
Promise的作用:Promise是异步微任务,解决了异步多层嵌套回调的问题,让代码的可读性更高,更容易维护。文章来源:https://www.toymoban.com/news/detail-794341.html
Promise有三种状态·待定pending(初始)
,兑现resolved
,拒绝rejected
,状态落定后不可逆。resolve 方法的参数是then中回调函数的参数,reject 方法中的参数是catch中的参数。文章来源地址https://www.toymoban.com/news/detail-794341.html
到了这里,关于前端知识汇编(持续更新中)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!