数据结构 ~ 栈、队列

一个后进先出的数据结构、JS中没有栈,可以使用 Array 模拟

javascript 复制代码
const stack = []
stack.push(1) // 入栈
stack.push(2) // 入栈
const item1 = stack.pop() // 出栈
const item2 = stack.pop() // 出栈

以上代码可以使用 nodeJs 断点调试(F5启动);

可以看到执行步骤为入栈了数据1、入栈了数据2,出栈了数据2,出栈了数据1;

后入栈的数据先出栈(后进先出)

javascript 复制代码
const fun1 = () => {
  fun2()
}
const fun2 = () => {
  fun3()
}
const fun3 = () => {}
fun1()

同样可以断点调试以上代码;

执行步骤:入栈fun1、入栈fun2、入栈fun3、出栈fun3、出栈fun2、出栈fun1(后进先出)

十进制转换二进制:

javascript 复制代码
const num = 35
console.log(num.toString(2)) // 100011

队列

一种先进先出的数据结构、JS中没有栈,同样可以使用 Array 模拟

javascript 复制代码
const queue = []
queue.push(1)
queue.push(2)
const item1 = queue.shift()
const item2 = queue.shift()

执行步骤为入栈了数据1、入栈了数据2,出栈了数据1,出栈了数据2(先进先出)

事件循环

当 JS 所有同步代码执行完会启动事件循环机制,而 WebApis中的回调会推送到回调队列中,然后依此执行,先进先出。

相关推荐
kyriewen1 小时前
我受够了复制报错去问 AI,花一下午给控制台做了个调试助手
前端·javascript·ai编程
en.en..1 小时前
数据结构考点解析:逻辑闭环与存储循环辨析
数据结构
JJJennie7772 小时前
Gemini 3.7 Flash 上线,Google 想让 AI 多干活
开发语言·javascript·ecmascript
布莱克6054 小时前
数据库索引分类:数据结构、物理存储与逻辑角度详解
数据结构·数据库
MgArcher4 小时前
抖音a_bogus参数逆向实战:JSVMP环境模拟与Hook技术(2025最新)
javascript·爬虫·python
Fa_Mian_Tuan4 小时前
图论基础|邻接矩阵超详细讲解(含无向/有向/带权图+完整可运行C语言代码)
c语言·数据结构·笔记·算法·图论
三十而立洋5 小时前
Promise到底是什么、怎么用
javascript
小星星闪亮登场6 小时前
ST表--倍增思想
开发语言·数据结构·c++·算法·思维
IMPYLH7 小时前
HTML 的 <h1>–<h6> 元素
前端·javascript·html