栈的运行顺序如图
    image.png
    示例代码

    1. const arr = [1,2,3,4]
    2. /**
    3. * 使用数组模拟栈
    4. */
    5. class Stack{
    6. constructor(arr){
    7. this.arr = arr;
    8. }
    9. push(value){
    10. return this.arr.push(value)
    11. }
    12. /**
    13. * 栈是最后进去的第一个执行
    14. */
    15. pop(){
    16. return this.arr.pop()
    17. }
    18. }
    19. const stack = new Stack(arr);
    20. stack.push(6)
    21. console.log(stack.arr)
    22. stack.pop()
    23. console.log(stack.arr)

    队列的运行顺序
    image.png
    队列的示意代码

    1. const arr = [1,2,3,4]
    2. /**
    3. * 使用数组模拟队列
    4. */
    5. class Queue{
    6. constructor(arr){
    7. this.arr = arr;
    8. }
    9. push(value){
    10. return this.arr.push(value)
    11. }
    12. /**
    13. * 队列是依次执行
    14. */
    15. pop(){
    16. return this.arr.shift()
    17. }
    18. }
    19. const queue = new Queue(arr);
    20. queue.push(7)
    21. console.log(queue.arr)
    22. queue.pop()
    23. console.log(queue.arr)