「已注销」 2022-04-14 14:11 采纳率: 80.6%
浏览 29
已结题

为啥机试结果和答案不一样?

img

机试结果0 1 2 2
答案里只有15 1 2 2
根本不知道这个15怎么来的

涉及的考点也不明确:作用域?Settimeout的异步?

请详细解答,感谢。

  • 写回答

2条回答 默认 最新

  • wulilrc 2022-04-14 14:46
    关注

    正确的应该是0 1 2 2
    第一个for循环里面的i是let定义的 js会开辟一个单独的内存空间储存 所以各个i互不干扰 依次输出就是0 1 第二个循环里的i是var定义的 存在变量提升的问题 第一遍i=0 将后面的执行语句放进异步队列 第二遍循环i=1 将后面的执行语句放进异步队列 第三遍i=2 不满足条件 不执行后面的方法 结束循环是i=2 所以会输出 2 2 连起来就是0 1 2 2

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月22日
  • 已采纳回答 4月14日
  • 创建了问题 4月14日