面试专题
cxxxxxxxxxxxxxxxxx
这个作者很懒,什么都没留下…
展开
-
减少重绘回流的几种方式
1.批量处理DOM操作①隐藏DOM(display:none)②操作DOM③显示DOM 这种方式只会引发两次回流2.避免触发同步布局事件。因为在读取一写精确数据的时候,比如offsetTop的时候,浏览器会清空DOM操作事件队列,所以需要用到精确数据的时候,可以先保存读取的数据,在操作保存的数值后,再赋值给offsetTop(除老版本浏览器外,现在的浏览器都对DOM处理进行优化,放进队列中,批量处理DOM修改,当到达一定数量或者一定时间点就会清空事件队列,进行重绘回流)3.对于复杂运动效果,使它脱原创 2021-05-30 00:09:17 · 898 阅读 · 0 评论 -
创建对象几种方式
1.工厂模式2.构造函数(new)3.原型模式(new)原创 2021-05-26 13:34:49 · 61 阅读 · 0 评论 -
虚拟DOM优点
1.直接操作DOM是很消耗性能的,会频繁触发重绘回流,且在浏览器上有一次DOM改变就操作一次,很有可能前面和后面所作的改变是冲突的,那前面做的那次改变就是无意义的。虚拟DOM是批处理的,完成后才会只触发一次重绘回流。2.比较差异,以最小的代价去操作DOM,提高无用的消耗总结一下就是高性能,低代价...原创 2021-05-26 00:04:43 · 110 阅读 · 0 评论 -
浏览器渲染阻塞问题
css加载不会阻塞DOM树的解析css加载会阻塞DOM树的渲染css加载会阻塞后面js语句的执行js文件也会阻塞DOM渲染(因为js文件可能会操作dom,改变样式布局,所以浏览器会终止渲染,等到js解析完以后渲染)...原创 2021-05-25 18:26:54 · 125 阅读 · 0 评论 -
action和mutation为什么要区分开
action负责异步和业务代码mutation负责同步提交state单一职责,方便追踪状态变化原创 2021-05-25 15:35:04 · 370 阅读 · 0 评论 -
扩展运算符和rest运算符
扩展运算符和rest运算符,两者功能刚好相反,扩展运算符将数组转化为用逗号隔开的值,rest将逗号隔开的值转化为数组。扩展运算符作用:合并数组,数组深拷贝,将类数组转化为数组原创 2021-05-23 22:36:42 · 122 阅读 · 0 评论 -
前端跨域问题几种方案(如果有错请指出来)
跨域问题本页面url和请求url两者之间,协议、端口、域名只要有一种不同就会出现跨域问题。跨域问题本质是get请求可以发出去,服务端也可以正常响应,但是被浏览器当作不安全操作拦截了(拦截响应,阻止用户读取另一个域名下的数据),服务器之间没有跨域请求这个说法。解决方案如下:1.jsonp带src的标签可以加载跨域资源,不受限制。经典做法是在script标签中的src中放跨域url,加载资源,在本页面中设置回调函数,取到资源。缺点是只支持get请求。2.cors和前端无关,重点是后端设置允许哪些域名原创 2021-05-21 22:07:55 · 98 阅读 · 0 评论 -
defineproperty和proxy简单区别
defineproperty对每个对象的属性进行劫持,添加set和get方法,但是有个问题:监听不到对象属性的增添和删除,数组改变length和通过下标值设置值;因为对数组的监听性能代价很大,对数组的原型进行改写push,pop等一系列方法,使他们实现响应式。proxy(代理)监听整个对象,并返回一个新的对象,可以理解成在对象外设置一层拦截,外界对对象进行访问,需要先通过拦截,对访问操作进行过滤和改写。使用proxy可以避免defineproperty出现的问题...原创 2021-05-19 22:49:23 · 272 阅读 · 0 评论 -
前端面试问题
面试专题(持续更新)1AXIOS配置环境变量,分别对应不同的场景(开发,测试,发布)。2vue对对象和数组的不同处理方法3vue observer怎么遍历什么函数 -----》defineReactive4definereactive函数每个属性创建dep对象2给每个属性添加set和get方法,get中使用dep.depend(),来收集watcher,set中使用notify方法通知watcher更新5HTTP状态码 302临时重定向 301永久重定向 (巩固一下握手)6组件通信 兄弟 爷孙(原创 2021-05-19 21:03:00 · 78 阅读 · 0 评论 -
vue三要素
vue三要素响应式: 例如如何监听数据变化,其中的实现方法就是我们提到的双向绑定模板引擎: 如何解析模板渲染: Vue如何将监听到的数据变化和解析后的HTML进行渲染原创 2021-05-19 20:58:23 · 136 阅读 · 0 评论 -
HTTP状态码
常见状态码200 从客户端发送给服务端的请求被正常处理并返回301 永久重定向302 临时重定向400 请求报文语法错误401 未经许可用户需要经过HTTP身份验证(需要认证认证)403 服务器拒绝本次访问(完成认证后没有权限访问)404 找不到资源501 服务器在执行时发生了错误502 服务器正在处于超负荷或者处于维护,无法访问...原创 2021-05-19 20:48:30 · 52 阅读 · 0 评论