首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
下列代码的运行输出结果是?
[单选题]
下列代码的运行输出结果是?
1 2 7 5 6 3
7 1 2 5 6 3
1 2 3 4 6 7
1 2 7 4 6 3
查看答案及解析
添加笔记
求解答(7)
邀请回答
收藏(25)
分享
纠错
1个回答
添加回答
2
没有昵称_
答案:A:
1 2 7 5 6 3
这里涉及到微观任务和宏观任务,JavaScript首先执行主线程上的所有代码,等主线程的代码都执行完了再执行异步代码。异步代码分为宏观任务(setTimeout)、微观任务(Promise),微观任务的优先级比宏观任务大,所以他们的调用顺序是 微观任务 -> 宏观任务。回到本题:
不难看出1 2 7 都是运行在主线程上,所以先输出 1 2 7 。主线程代码执行完毕后执行微观任务(promise),第一个promise应该是p,所以 输出 5,再到 first(), 输出 6。所有微观任务执行完毕,再执行宏观任务(setTimeout),最后输出 3 。而 setTimeout 中的 resolve(4) 为什么不会输出?因为每个 promise 只会执行一次 resolve 函数,之前已经执行过了,所以不会再调用这个 resolve 函数了。
编辑于 2020-09-04 16:26:03
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
哔哩哔哩
测试工程师
PHP工程师
安全工程师
c#工程师
数据库工程师
数据分析工程师
数据挖掘工程师
测试开发工程师
2020
大数据开发工程师
Java工程师
上传者:
小小
难度:
1条回答
25收藏
1456浏览
热门推荐
相关试题
以下关于跨域说法错误的是?
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
测试工程师
安全工程师
c#工程师
数据库工程师
大数据开发工程师
哔哩哔哩
途虎
2020
数据分析工程师
数据挖掘工程师
测试开发工程师
2021
评论
(2)
来自
途虎养车2023秋招前端...
看图回答
判断推理
2020
人力资源
安永
审计
税务服务
风险管理
管理咨询
行政管理
评论
(3)
来自
职能类模拟题2
字符串全排列
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
测试工程师
安全工程师
c#工程师
数据库工程师
大数据开发工程师
瓜子二手车
2019
评论
(29)
在大语言模型中,什么是"Gated...
大模型开发
评论
(1)
关于大模型“上下文窗口”的理解,以...
大模型概念
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题