Vue习题练习-Question two

Vue习题练习-Question two

题目

在这里插入图片描述

问题分析

题目是正确打印h1标签宽度的选项

首先我们要正确h1标签的宽度,就得了解到事件循环机制,整个渲染的过程

事件循环机制指的是先同步再异步,异步中先微任务,在宏任务

javascript是一门单线程语言,什么是单线程语言,通俗的来说就是一个一个执行,从上到下执行。如下:

console.log(1111)
console.log(2222)
console.log(3333)

以上代码在控制台的打印如下:
在这里插入图片描述
当我们改变一下顺序如下:

console.log(3333)
console.log(2222)
console.log(1111)

这是控制台的打印如下:
在这里插入图片描述
可以清晰的看见以上代码都是从上到下的执行

像console.log属于同步任务,而有一些任务他是异步的,他们一般是微任务和宏任务

微任务:Promise.then/catch,process.nextTick

宏任务:setTimeout,setInterval

如下代码,可以看到是同步任务先执行还是异步任务先执行:

setTimeout(()=>{
	console.log(1)
},0)
console.log(3333)
console.log(2222)
console.log(1111)

执行结果如下:
在这里插入图片描述
如上,我们的异步任务setTimeout是放在最前面的,上面的代码中提到过,js执行是从上往下执行的,但是,这次异步任务却到最后才执行。
这就是因为事件循环机制的原因,会先执行同步任务,在执行异步任务
在同步任务中会渲染我们的dom和同步代码,执行完毕后,才会执行异步任务

所以在上面的选项中,我们可以确认setTimeout,setInterval,nextTick是可以获取我们h1的宽度,console.log不能获取到

最后我们的答案就是setTimeout,setInterval,nextTick可以获取h1的宽度

这道题的重点就是考查我们事件循环机制,事件循环机制就是先同步在异步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

✎﹏ℳ๓敬坤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值