选择题1149/1588输出是什么?

1const foo = () => console.log('First') 2const bar = () => setTimeout(() => console.log('Second')) 3const baz = () => console.log('Third') 4 5bar() 6foo() 7baz()
难度:
2021-07-02 创建

本题为单选题”

参考答案:

正确选项:B:First Third Second

输出的顺序将会是:

First
Third
Second

这是因为在这段代码中,bar() 函数包含了一个 setTimeout,它会在一定时间后执行回调函数。而在这段代码中,setTimeout 的回调函数是异步执行的。

以下是代码执行的详细步骤:

  1. 调用 bar(),它启动了一个计时器,并注册了一个在计时结束后执行的回调函数。
  2. 然后调用 foo(),它会立即打印出 'First'
  3. 接着调用 baz(),它会立即打印出 'Third'
  4. 当计时器结束后,回调函数被执行,打印出 'Second'

由于 setTimeout 是异步的,所以在执行完 foo()baz() 后,会先打印出它们的输出,然后再执行 setTimeout 的回调函数并打印出 'Second'

最近更新时间:2023-12-18

赞赏支持

预览

题库维护不易,您的支持就是我们最大的动力!