每日两道前端面试题(第二天)

一、同步和异步

        因为JS是一门单线程语言,为了实现多线程,引入了同步和异步的技术

        每个代码都有执行时间,有些需要等待时间的代码,称为异步代码

        同步:代码按照顺序一步一步执行,必须前一步执行完后,后一步才可以继续执行

        异步:代码在执行时,会先执行同步代码,异步代码在任务队列中,消耗等待时间,消耗完毕后会告诉主线程它可以等待执行了,当主线程中所有代码执行完毕后,它才会执行。

        同步代码和异步代码都会通过主线程进行编译,同步代码存在执行栈中,异步代码存在任务队列中,只有等主线程任务执行完毕,任务队列开始通知主线程,请求执行任务,该任务才会进入主线程执行

        异步任务又分为宏任务和微任务,当执行异步代码时,会先执行微任务,在执行宏任务。

        常见的微任务有promise.then、async等等...

        常见的宏任务有setTimeout、setInterval等等...

二、ajax

        概念:异步交互技术,可以实现页面的局部刷新,是一种无需全部刷新网页的情况,可以部分更新网页的技术,前端通过于服务器进行少量的数据交换,可以使网页实现异步更新。

        优点:1.有更流畅、更自由的用户体验,可以对用户的操作进行及时响应。

                   2.在不中断通信的情况下与web服务器进行通讯。

                   3.更灵敏的响应用户的访问,实现类似于桌面程序的交互。

                   4.降低网络流量,提高网络使用效率。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值