web应用的生命周期

简介: web应用的生命周期

从第4步开始页面的构建

页面构建

页面的构建过程,主要做两件事

  • 解析HTML代码并构建文档对象模型(DOM)
  • 执行JavaScript代码。

当浏览器在页面构建阶段遇到了脚本节点,就会停止HTML到DOM的构建,转而开始执行JavaScript代码,依次执行全局JS代码,若期间调用了函数,则执行JS 函数内的代码。

JS 代码执行结束后,将继续HTML到DOM的构建,直到再次遇到脚本节点。

这两件事不断交替,直到整个页面构建完毕,接着进入事件处理阶段。

事件处理

页面构建完成后,用户即可看到页面,并与页面进行交互,这些交互,都通过事件的形式跟踪和触发。

常见的事件有:

  • 浏览器事件,例如当页面加载完成后或无法加载时;
  • 网络事件,例如来自服务器的响应(Ajax事件和服务器端事件);
  • 用户事件,例如鼠标单击、鼠标移动和键盘事件;
  • 计时器事件,当timeout时间到期或又触发了一次时间间隔。

要想让页面对事件做出响应,需要先注册事件 —— 即告诉浏览器,在事件发生时,要执行哪些 JS 代码。

注册事件

  • 方式一:【不推荐】 把函数赋给某个特殊属性

缺点:对于某个事件只能注册一个事件处理器

window.onload = function(){};
document.body.onclick = function(){};
  • 方式二:使用内置addEventListener方法

优点:对于某个事件可以注册多个事件处理器

   document.body.addEventListener("mousemove", function() {    ←---  为mousemove事件注册处理器
      var second = document.getElementById("second");
      addMessage(second, "Event: mousemove");
   });

   document.body.addEventListener("click", function(){    ←---  为click事件注册处理器
      var second = document.getElementById("second");
      addMessage(second, "Event: click");
   });

事件轮询

因为 JS 是单线程执行,所以事件会排成一个队列,通过事件轮询机制,一个个执行(先进先出),图示如下:

处理事件

核心思想:当事件发生时,浏览器调用相应的事件处理器。

目录
相关文章
|
2月前
|
存储 监控 安全
如何在Python Web开发中确保应用的安全性?
如何在Python Web开发中确保应用的安全性?
|
2月前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
73 3
|
2月前
|
移动开发 开发者 HTML5
构建响应式Web界面:Flexbox与Grid的实战应用
【10月更文挑战第22天】随着互联网的普及,用户对Web界面的要求越来越高,不仅需要美观,还要具备良好的响应性和兼容性。为了满足这些需求,Web开发者需要掌握一些高级的布局技术。Flexbox和Grid是现代Web布局的两大法宝,它们分别由CSS3和HTML5引入,能够帮助开发者构建出更加灵活和易于维护的响应式Web界面。本文将深入探讨Flexbox和Grid的实战应用,并通过具体实例来展示它们在构建响应式Web界面中的强大能力。
49 3
|
2月前
|
前端开发 JavaScript
探索现代Web应用的微前端架构
【10月更文挑战第40天】在数字时代的浪潮中,Web应用的发展日益复杂多变。微前端架构作为一种新兴的设计理念,正逐步改变着传统的单一前端开发模式。本文将深入探讨微前端的核心概念、实现原理及其在实际项目中的应用,同时通过一个简单的代码示例,揭示如何将一个庞大的前端工程拆分成小而美的模块,进而提升项目的可维护性、可扩展性和开发效率。
|
20天前
|
弹性计算 Java 关系型数据库
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
|
29天前
|
Kubernetes 安全 Devops
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
61 10
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
|
20天前
|
弹性计算 Java 数据库
Web应用上云经典架构实战
本课程详细介绍了Web应用上云的经典架构实战,涵盖前期准备、配置ALB、创建服务器组和监听、验证ECS公网能力、环境配置(JDK、Maven、Node、Git)、下载并运行若依框架、操作第二台ECS以及验证高可用性。通过具体步骤和命令,帮助学员快速掌握云上部署的全流程。
|
2月前
|
前端开发 JavaScript UED
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
44 5
|
2月前
|
机器学习/深度学习 人工智能 JavaScript
JavaScript和TypeScript的未来发展趋势及其在Web开发中的应用前景
本文探讨了JavaScript和TypeScript的未来发展趋势及其在Web开发中的应用前景。JavaScript将注重性能优化、跨平台开发、AI融合及WebAssembly整合;TypeScript则强调与框架整合、强类型检查、前端工程化及WebAssembly的深度结合。两者结合发展,特别是在Vue 3.0中完全采用TypeScript编写,预示着未来的Web开发将更加高效、可靠。
54 4
|
20天前
|
弹性计算 负载均衡 安全
云端问道-Web应用上云经典架构方案教学
本文介绍了企业业务上云的经典架构设计,涵盖用户业务现状及挑战、阿里云业务托管架构设计、方案选型配置及业务初期低门槛使用等内容。通过详细分析现有架构的问题,提出了高可用、安全、可扩展的解决方案,并提供了按量付费的低成本选项,帮助企业在业务初期顺利上云。
下一篇
开通oss服务