浏览器下 输出结果的先后顺序是 AAAA CCCC EEEE IIII HHHH BBBB DDDD 答案解析:这道题考察重点是 js异步执行 宏任务 微任务。 一开始代码执行,输出AAAA. 1 第二行代码开启一个计时器t1(一个称呼),这是一个异步任务且是宏任务,需要等到1秒后提交。 第四行是个while语句,需要等待3秒后才能执行下面的代码,这...
解析:事件循环,任务队列的执行顺序,new Promise是会立即调用,接收了一个resolve参数,执行调用输出console.log(1)语句,遇到setTimeout,它是一个异步宏任务,会推送到任务队列中,进入挂起状态 而promise.resove也是一个异步微任务,仍然会推送到任务队列中,进入挂起状态,当主线程console.log(5)执行完后,在从异步任务队列...
中序遍历 中序遍历满足左子树=>根节点=>右子树的顺序进行查询 当跑到到根节点B时,先得看看有没有左子树,正好有,所以先遍历了左子树A之后才是B,最后遍历右子树C,所以完整顺序顺序为ABC。题目来自 leetcode94. 二叉树的中序遍历 ,描述如下: var inorderTraversal = function(root) { let res ...
顺序执行,遇到第一个alert(a),此时空间B中有a=underfined,所以弹出underfined;继续执行遇到表达式“=”(var a=200),空间B中a的值修改为200;继续向下执行,遇到第二个alert(a),a指向空间B,所以弹出200 执行完cc()后,继续顺序执行,遇到第三个alert(a),指向空间A,弹出100 继续执行,遇到var a,由于没有表达式,...
首先, setTimeout 属于 js 异步任务中的宏任务 如上图可见,宏任务需等待同步任务、微任务、DOM渲染完成后,通过事件轮询触发执行,所以存在复杂异步逻辑时,很难精准预判 setTimeout 的开始计时时间。 逻辑简单的,比较好分析,如 function test() { print("开始"); ...
简介: JS【详解】setTimeout 延时(含清除 setTimeout,计时开始时间,0 秒延时解析,多 setTimeout 执行顺序,setTimeout 应用场景,网红面试题) setTimeout 简介 setTimeout 是一个 js 内置的函数,用于延时执行代码 参数1:回调函数,延迟一段时间后执行的代码 参数2:延迟的时间,单位是毫秒。(默认为 0 毫秒) ...