欢迎光临散文网 会员登陆 & 注册

千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)

2023-07-16 16:05 作者:梦雨辰曦  | 我要投稿

p7 js面试题

事件循环:实现单线程非阻塞的方法

事件循环的过程:

1,所有同步任务先放在在主线程执行,形成执行栈,碰到异步任务放到任务队列中;当执行栈的所有同步任务执行完后,读取任务队列执行异步任务

2,先执行任务队列里面所有的微任务,然后执行一个宏任务,再执行所有的微任务,再执行一个宏任务,再执行所有的微任务....以此类推

同步任务: 按顺序执行的任务,每个任务必须等待上一个任务完成才能执行。

异步任务: 异步任务又分为宏任务和微任务(在任务队列中,不进入主线程)。

宏任务:包括整体代码script,setTimeout,setInterval,I/O,UI,Renderin

微任务: 包括 Promise,process,nextTick

http相关

http的状态码:

200 成功

200~300之间都算正常

301 请求的网页已水 久移动到新位置。

302 临时性重定向。

307 内部重定向

304 自从比次请求后。请求的网页未修改过。

401 需要验证

403 禁止访问

404 找不到资源(请求的目标不存在)

405 请求的方式错误

500 服务器错误

501 服务器没有该功能

502 网络错误

503 服务器过载或过载

p13 vue面试题

1,解释单向数据流和双向数据绑定

单向数据流:组件之间的数据传输,只能通过一个方向来修改数据

双向数据绑定:当数据发生变化的时候。视图也就发生变化。当视图发生变化的时候。数据也会跟着同少变化。两个数据流之间互为影响

object.defineProperty的缺点

1,无法监听es6的Set. Map变化

2,无法监听CIass类型的数据:

3,属性的新加或者删除也无法监听:

4,数组元素的增加和删除也无法监听。

Vue响应式原理:

vue的响应式实现主要是利用了oject. defineProperty的方法里面的setter与getter 方法的观察者模式来实现。

在组件初始化时会给每一个data属性注册getter和setter.然后再new一个自己的watcher对象,此时watcher会立

即调用组件的render函数去生成虚扣DOM.在调用render的时候,就会需要用到data的属性值,此时会触发getter函

数,将当前的watcher函数注册进sub里。当data属性发生改变之后, 就会遍历sub 电所有的watcher对象,通知它们去

重新谊染组件。

proxy的优势:

Proxy可以直接监听对象而非属性,可以直接监听数组的变化:

Proxy有多达13种拦截方法,不限于apply. ounkeys、deleteProperty. has等等是

object . defineProperty不具备的:

Proxy返回的是: -个新对象,我们可以只操作新的对象达到目的,面object. defineProperty只能遍历对象属性直接修改


千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)的评论 (共 条)

分享到微博请遵守国家法律