亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【九月打卡】第五天 隊列

標簽:
JavaScript

第一模块:课程介绍

课程名称:JavaScript版数据结构与算法 轻松解决前端算法面试
课程章节:4-1 队列简介
主讲老师:lewis

第二模块:课程内容

知道什么是队列,学会队列的使用

第三模块:课程收获

1。队列是什么?

  • 一个先进先出的数据结构

  • JavaScript中没有队列,但可以使用Array来实现队列的所有功能

代码示例

// 声明队列数组
const queue = [];
// 入队
queue.push(1);
queue.push(2);
// 先进先出,使用shift方法来实现
const item1 = queue.shift();
const item2 = queue.shift();

2。队列的作用

  • 所有需要先进先出的场景
    比如说:食堂排队打饭,js中的异步任务

也就是说,面对这种无法同时处理多个任务的场景,就可以使用队列来进行,先进先出,保证有序,如果说,打饭的时候,我们不排队,那么就会变得很混乱。

  • JS异步中的任务队列

先看个任务队列的图

图片描述

在这个图里面,Callback就是任务队列。为什么使用任务队列来处理呢。

因为在js里面,它是的个单线程的,无法同时处理异步中的并发任务,必须要使用任务队列先进先出的处理原则来保证任务的正常运行。

在上图中,有三部分

callback:任务队列
WbApis:执行异步任务的
JS:js引擎,用来执行代码的

这三部分,通过箭头关联起来,形成了一个循环。

代码在执行的时候,会有一个先匿名主事件函数。然后会将代码丢到任务队列中去执行。

js会去任务队列中获取任务进行执行,如果任务的异步任务,就会把任务丢给webApis来执行,这个时候,它是不回等待任务结束的。

WebApis在执行完成后,只能吧执行后的回调函数给继续往任务队列里面去,然后再一个一个排队由js任务队列来执行

第四模块:课程记录

图片描述

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消