前端知识点总结分享

681 阅读3分钟

这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战

前端性能优化问题 :减少http请求次数,精减代码量,减少dom,可以用你cdn上的东西(可以减轻自己服务器的压力)操作等等。

sessionStorage、localStorage、cookie的区别:

共同点:都是保存在浏览器端,且是同源(即不跨域)的。

区别:
1.与服务器的数据交换方式不同。cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。
2.存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合 保存很小的数据,如会话标识。sessionStorage和localStorage虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。 3.数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie只在设置的cookie过期时间之前有效,即使窗口或浏览器关闭。 4.Cookie可以设置有效期,路径(path),域(domain)。

数组排序和数组去重问题。

数组的去重可以用js中的Set,排序用sort

跨域

前后端分离开发必定跨域(因为前端有自己的服务器localhost:8080,后端也有自己的服务器)

后台使用跨域资源共享(CORS)

cors 跨域资源共享 Cross-origin resource sharing是一种跨域的解决方案 它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。 但是需要浏览器的支持。 值得注意的是: 整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信(只要在服务器端设置了就行)与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现是cors情况的AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。

权限验证

在一个系统中,不同的用户会拥有不同的权限,不同的权限,要展示不同的菜单。
当我们登录时,后台会返回一个json,json中有roles属性,该属性是一个数组,包含了该用户的角色名 roles:['admin','user']。
这个时候,就可以把需要异步添加的路由中符合对应权限的给筛选出来。
我们拥有一个数组叫asyncRoutes 根据数据中对应对象里的meta中的roles 我们可以判断出符合刚才roles的那些路由。

导航守卫

有的人也叫路由的声明周期

query参数

通过this.$route.query.key 就可以获取到对应的值。

响应式布局

1.pc端响应式布局:是指屏幕大小缩放时样式发生相应改变。运用媒体查询@media来设置。 2.移动端响应式布局:是指根据移动端不同设备实现页面正常显示的方案。运用以下三种方案布局:a. 百分比布局。b. flex布局。c. rem布局