JavaScript知识点总结(一)
1. 基本数据类型
- 五种简单数据类型包括:String、Number、Boolean、undefined、Null
- 一种复杂数据类型:obeject
几种false:undefined,null,空字符串,0都等于false
2. let、const、var区别
- let和const不存在变量提升机制(
函数及变量的声明都将被提升到函数的最顶部
) - var允许重复声明,而let是不允许的
- let、const都是块级局部变量
3. promise的三个状态
- pending
等待
- reslove
成功
- reject
拒绝
- promise的状态一旦改变就不会在改变回去
4. sessionStorage,localStorage和cookie的区别
sessionStorage,localStorage 都是用来储客户端临时信息数据的。
- sessionStorage
生命周期为当前窗口或标签页,一点浏览器关闭或者页面关闭,他就消失了
- localStorage
生命周期是永久,可以长期的存储在本地,不会随着连接的关闭或者网页的关闭而消失
cookie 主要是存储在客户端上用来验证用户信息的
5. cookie和session 的区别
- Cookie可以存储在浏览器或者本地,session只能存在服务器
- Session比Cookie更具有安全性
- Session占用服务器性能,Session过多,增加服务器压力
- 单个Cookie保存的数据不能超过4K,很多浏览器都限制一个站点的cookie上限
6. Object的对象方法
- create 创建元素
- keys() values()
- valueof()
- toString
7. symbol类型
- 用来解决JS对象属性可能重名的问题
8. 区分数组和对象的方法
objec.isPrototypeOf
instanceof
9. 块级元素垂直居中
-
flex布局
display: flex;align-items: center;
-
父元素相对定位 子元素
position: absolute; top: 50%; transform: translateY(-50%);
-
子元素
position:relative,top: 50%;transform: translateY(-50%);
-
设置父元素为相对定位,子元素为绝对定位,同时设置子元素的top,bottom,left,right值为0,最后设置margin:auto;
10. Vue的生命周期
- 创建
- 挂载
- 更新
- 销毁
11. 宏任务和微任务
- 宏任务是由宿主(Node、浏览器)发起,微任务由Javascript发起。
- 同时到达的话,微任务会先运行
- 宏任务会触发新一轮Tick
12. 原生ajax请求的五个步骤
第一步,创建XMLHttpRequest对象
第二步,注册回调函数
第三步,配置请求信息,open(),get
第四步,发送请求,post请求下,要传递的参数放这
第五步,创建回调函数
13. 数组去重方法
- sort + splice
- Set(),Map()
- indexOf()
14. es6新特性
- 箭头函数、promise、Map()、Set()、let、const、for…of…
15. this的指向问题
- 普通的函数调用 - 指向window
- 构造函数调用 - 指向函数实例化后的对象
- 对象的方法 - 指向该对象
- 绑定事件 - 执行绑定事件的对象
- 定时器 - 指向window
16. 深拷贝和浅拷贝
- 对于引用数据类型,他的名字存在栈内存中,值存在堆内存中,栈内存会提供一个引用的地址指向堆内存中的值
- 浅拷贝就是B变量只复制了A变量的引用地址,而没有复制A变量在堆内存中的值。
- 深拷贝的方法:
object.assign()
对于多层对象,需要递归拷贝
17. position的定位方法
- static 静态的 元素出现在正常位置
- relative 相对定位 相对于该元素的原位置进行定位
- absolute 绝对定位 脱离文档流 相对于第一个非static定位的父级元素定位
- fixed 固定位置 生成在固定
18 Array.from() 和 Array.of()
- Array.from() 将可迭代对象转成数组
- Array.of(5) // [5]
19 Set()
- 函数方法
add,delete,has,clear
- 遍历方法
keys(),values(),entries(), forEach()
20 http状态码
- 200 成功
- 301 客户端请求的网页已经永久移动到新的位置
- 400 客户端请求的语法错误,服务器无法理解
- 403 服务器拒绝执行此请求
- 404 服务器找不到请求的资源
- 405 客户端请求中的方法被禁止
- 500 服务器错误
- 503 服务器由于临时的服务器过载或者是维护,无法解决当前的请求
21 TCP和UDP的区别
- TCP是面向连接;TCP连接只能是点到点、一对一的;通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;TCP传输效率相对较低。
- UDP是无连接的;UDP支持一对一,一对多,多对一和多对多的交互通信;UDP尽最大努力交付,即不保证可靠交付;UDP传输效率高。