01.执行上下文栈.html 969 B

123456789101112131415161718192021222324252627282930313233343536
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <!--
  11. 1、在全局代码执行前,JS引擎就会创建一个栈来存储管理所有的执行上下文对象
  12. 2、在全局执行上下文(window)确定后,将其添加到栈中(压栈)
  13. 3、在函数执行上下文创建后,将其添加到栈中(压栈)
  14. 4、在当前函数执行完后,将栈顶的对象移除(出栈)
  15. 5、当所有的代码执行完后,栈中只剩下window
  16. -->
  17. <script>
  18. var a = 10
  19. var bar = function(x){
  20. var b = 5
  21. foo(x+b)
  22. }
  23. var foo = function(y){
  24. var c = 5
  25. console.log(a + c + y);
  26. }
  27. bar(10) //30
  28. </script>
  29. </body>
  30. </html>