
前端面试题
文章平均质量分 60
八股文
Mqyyy
这个作者很懒,什么都没留下…
展开
-
DNS解析流程
普通用户使用的都是运营商的本地域名服务器,这些服务器一般架设在离用户不远的地方,而且性能都很好,所以一般都会缓存域名解析结果,大约80%的域名解析都会在这一步完成(图中为②)。2)、全球一共有13组根域名服务器(注:这里并不是指13台服务器,是指13个ip地址,按字母a-m编号),根域名服务器不会直接解析域名,二十把不同的解析请求分配给下面的其它服务器来完成。4)、本地dns获得返回的ip地址,再去找对应的顶级域名服务器,顶级域名又把负责该域名的权威服务器ip返回给本地dns(图中为⑤和⑥)。转载 2023-08-10 18:14:25 · 632 阅读 · 0 评论 -
模块化及模块化规范
模块化原创 2022-04-27 14:45:21 · 1547 阅读 · 0 评论 -
箭头函数和普通函数的区别
箭头函数和普通函数的区别原创 2023-08-09 14:02:45 · 158 阅读 · 0 评论 -
页面渲染流程及回流重绘
Dom树就是html结构,里面包含所有的html tag(也包含用js生成的)。CSSOM 样式结构体,浏览器把所有样式(主要包括css和浏览器自带的样式设置)解析成样式结构体,在解析的过程中会去掉浏览器不能识别的样式。将DOM和CSSOM组合构建以后形成Render Tree。原创 2023-08-03 17:34:19 · 140 阅读 · 0 评论 -
从输入url到页面显示的全过程
4)第四次挥手:客户端接收到申请释放连接的报文后,再向服务器发送一个确认报文,等待服务器收到确认报文,服务器收到确认报文,就会进入关闭状态。如果返回的响应报文的状态为3xx,就需要重定向到其他URL,然后从头开始,然后网络线程会通过safeBrowsing来检查站点是不是恶意站点,如果是,就展示警告页面。1、首先,在输入的过程中,浏览器的UI线程会实时捕捉输入的内容,如果输入的不是网址或者协议不合法的话,那么搜索引擎会合成新的带搜索关键字的URL,准备进行搜索。然后进行布局和绘制,最终将页面呈现在屏幕上。原创 2023-08-03 17:00:43 · 1425 阅读 · 0 评论 -
事件循环机制和宏任务/微任务?
事件循环是由一个队列组成的,异步任务的回调遵循先进先出,在JS引擎空闲时会一轮一轮地被取出,所以被叫做循环。根据队列中任务的不同,分为宏任务和微任务。事件循环由宏任务和在执行宏任务期间产生的所有微任务组成。完成当下的宏任务后,会立刻执行所有在此期间入队的微任务。浏览器的事件循环由一个宏任务队列+多个微任务队列组成。首先,执行第一个宏任务:全局Script脚本。产生的的宏任务和微任务进入各自的队列中。执行完Script后,把当前的微任务队列清空。完成一次事件循环。原创 2023-07-31 16:23:43 · 262 阅读 · 0 评论 -
数组扁平化
六种扁平化数组的方式原创 2023-04-02 13:19:01 · 137 阅读 · 0 评论 -
computed、watch、methods的区别
4. 在 computed 属性对象中定义计算属性的方法,和取 data 对象里的数据属性一样以属性访问的形式调用,即在页面中使用 {{ 方法名 }} 来显示计算的结果,computed 有返回值,方法的返回值作为属性值;1. computed 所监控的数据是不在 data 中进行声明的,它是基于data 或 props 中的数据通过计算得到的一个新的值,而watch监控的数据来源是data、props 和 computed 中的。3. computed 是带缓存的,而 methods 是没有缓存的。原创 2023-03-31 21:06:09 · 558 阅读 · 0 评论 -
Vue 组件间进行传值
同样需要引入eventbus,使用 .$on来接收数据,第一个参数名为 发送数据时定义的名字,第二个参数为一个参数,函数的参数就是需要接收的值。引入eventbus,传数据一方使用 .$emit,第一个参数为自定义的事件名,第二个参数为需要传递的数据。对象形式的需要传入数据的数据类型。第一个msg自定义,随意命名,父组件用什么名字传,子组件就用什么名字来接。通过 $emit 传入两个参数,第一个是自定义事件名,第二个是需要传走的值。在组件中通过一个函数来接收,自组件传递过来的值作为这个函数的参数来接收。原创 2023-03-31 19:00:09 · 173 阅读 · 0 评论 -
让css只在当前组件内生效与如何做样式穿透
如果一个页面中,两个组件定义过相同的类名,那么就修改一个组件中的样式就影响到另一个组件,为了防止出现这种问题,需要给<style>标签中加入 scoped ,变成<style scoped>,它的原理其实就是给节点上加入了 data-v-xxxxx ,即使两个组件定义过相同类名,也会通过 data-v-xxxxx 进行隔离。父元素 /deep/ 子元素。父元素 >>> 子元素。原创 2023-03-31 14:52:30 · 1378 阅读 · 0 评论 -
什么是ref?对$nextTick()的理解?
ref就是用来获取dom的用法:给dom元素设置一个ref值,通过this.$refs.设定的值来获取到被绑定的dom元素两个打印都会出现这个 id 为 test 的 div 元素。注意:设置的时候用ref,但是在获取值的时候是 $refs。原创 2023-03-31 14:24:36 · 162 阅读 · 0 评论 -
对keep-alive的理解?
首先,keep-alive 是什么?它是Vue内部自带的一个组件,作用就是用来缓存组件,提升性能。用法:直接将需要缓存的组件用<keep-alive>包裹被包含在 keep-alive 创建的组件,会多出两个生命周期的钩子:activated ---当 keep-alive 包含的组件再次渲染的时候触发deactivated ---当 keep-alive 包含的组件销毁的时候触发。原创 2023-03-30 16:53:30 · 114 阅读 · 0 评论 -
Vue2 生命周期理解
在进入页面或组件时,都执行了哪些生命周期?什么时候有$el,什么时候有$data?结合keep-alive后的生命周期?原创 2023-03-30 16:14:52 · 128 阅读 · 0 评论 -
localStorage、sessionStorage和cookie
对localStorage、sessionStorage和cookie的理解原创 2023-03-30 15:22:39 · 129 阅读 · 0 评论 -
节流和防抖(手写代码)
节流和防抖函数原创 2023-03-28 17:28:59 · 168 阅读 · 0 评论