04.事件循环模型.html 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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、所有代码分类
  12. *初始化执行代码(同步代码):包含绑定dom事件监听,设置定时器,发送ajax请求的代码
  13. *回调执行代码(异步代码):处理回调逻辑
  14. 2、js引擎执行代码的基本流程
  15. *初始化代码==>回调代码
  16. 3、模型的2个重要组成部分:
  17. *事件(定时器/DOM事件/Ajax)管理模块
  18. *回调队列
  19. 4、模型的运转流程
  20. *执行初始化代码,将事件回调函数交给对应模块管理
  21. *当事件发生时,管理模块会将回调函数及其数据添加到回调队列中
  22. *只有当初始化代码执行完后(可能要一定时间),才会遍历读取回调队列中的回调函数执行
  23. -->
  24. <button id="btn">测试</button>
  25. <script>
  26. function fn1(){
  27. console.log('fn1()')
  28. }
  29. fn1()
  30. document.getElementById('btn').onclick = function(){
  31. console.log('点击了按钮')
  32. }
  33. setTimeout(function(){
  34. console.log('定时器执行了')
  35. },2000)
  36. function fn2(){
  37. console.log('fn2')
  38. }
  39. fn2()
  40. </script>
  41. </body>
  42. </html>