数据结构 ~ 栈、队列

一个后进先出的数据结构、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中的回调会推送到回调队列中,然后依此执行,先进先出。

相关推荐
做你的猫4 分钟前
深入剖析:基于Vue 3与Three.js的3D知识图谱实现与优化
前端·javascript·vue.js
做你的猫13 分钟前
深入剖析:基于Vue 3的高性能AI聊天组件设计与实现
前端·javascript·vue.js
j_xxx404_15 分钟前
数据结构:单链表的应用(力扣算法题)第一章
c语言·数据结构·算法·leetcode
dreams_dream44 分钟前
vue2实现背景颜色渐变
前端·javascript·css
中微子1 小时前
🏆 ES6 异步编程挑战营:从入门到........
javascript
月弦笙音1 小时前
【XSS】后端服务已经加了放xss攻击,前端还需要加么?
前端·javascript·xss
code_Bo1 小时前
基于vueflow实现动态添加标记的装置图
前端·javascript·vue.js
cur1es2 小时前
数据结构Java--8
java·数据结构·算法·散列表
CodeTransfer3 小时前
css中animation与js的绑定原来还能这样玩。。。
前端·javascript