web页面的加载顺序

1.页面顺序

一个典型的web页面由于三个部分组成:html、css和JS。执行的顺序是:

整个执行过程安装html的顺序来执行。

html->head->title->style->加载样式->解析样式->link->加载外部样式表->解析外部样式->script->加载外部脚本->解析外部脚本->执行外部脚本->body->div->body->div->加载脚本->解析脚本->执行脚本->img->script->加载脚本->解析脚本->执行脚本->加载外部图片文件->页面初始化完毕。

2.js解析顺序

   JS解析过程分为编译和执行两个过程,编译也叫预处理,JS解析器完成JS代码的预处理,使JS脚本代码转换成字节码。

   执行期间,JS解析器借助执行期环境将字节码生成机器码,并按照顺序执行。

整个JS解析过程:

 

其中,词法分析器和语法分析器是交错进行的。通常,每取一个词法记号,就将其送入语法分析器进行分析。

在JS解析过程中需要关注两个方面的问题。

2.1 词法作用域

JS的变量和函数作用域采用的是词法作用域,也就是说,JS的作用域在词法分析器的阶段就决定了,而不是在执行期间决定的,即作用域取决于原代码。

2.2 调用对象和作用域链接

函数执行过程,首页创建一个执行环境,在这个环境中创建一个调用对象。 调用对象保存函数所执行的局部变量,参数、嵌套函数、外部引用等等。

作用域链接是把多个嵌套函数的作用域连在一起,再这个过程中就有可能会有闭包,也有可能产生内存泄漏。

时间: 2024-12-22 22:04:01

web页面的加载顺序的相关文章

web.xml 组件加载顺序

<web-app> <display-name></display-name>WEB应用的名字 <description></description> WEB应用的描述 <context-param></context-param> context-param元素声明应用范围内的初始化参数 <!– 指定spring配置文件位置 –> <context-param> <param-name>

java web项目启动加载顺序

web.xml加载过程(步骤):       1.启动WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和 <context-param></context-param> 2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文. 3.容器将<context-param></context-param>转

web页面动态加载UserControl,并调用用户控件中的方法来初始化控件

1,HTML页 头部注册: <%@ Register Src="~/WorkLog/WorkLogNewV1/UserControl/CeShiBu.ascx" TagPrefix="UserControl" TagName="CeShiBu"%> <%@ Register Src="~/WorkLog/WorkLogNewV1/UserControl/KaiFaBu.ascx" TagPrefix=&quo

html页面元素加载顺序

一般来说,添加背景图片有三种办法: 直接写在标签的style里面,如: <div style="background-image:url('images/Css.JPG')"></div> 写在内联的style定义里面,如: <style> #cssContainer1 { background-image: url("images/Css3.JPG"); } </style> 写在外联的css文件里. 其实这三种方法

html页面的加载顺序

页面加载顺序: 解析HTML结构加载外部脚本和样式表文件解析并执行脚本代码构造HTML DOM模型加载图片等外部文件页面加载完毕 window.onload = function () {  }  //它的函数会在页面渲染成功后才会调用,引用js文件的时候要注意引用顺序,如果js先执行,而DOM还没渲染完,则设置的js就不会生效 原文地址:https://www.cnblogs.com/prospective-zkq/p/10246595.html

Asp.Net页面(母版页)加载顺序

Page 执行中将按照如下顺序激活事件: Page.PreInit Page.Init Page.InitComplite Page.PreLoad Page.Load Page.LoadComplete Page.PreRender Page.PreRenderComplete 如果页面从另一个页面继承,如BasePage:System.Web.UI.Page,在BasePage中做了一些扩展,如权限检查,而其他页面从BasePage继承,则BasePage和最终Page的事件激活顺序是: U

拉菲平台出租web.xml 组件加载顺序

复制代码拉菲平台出租 (www.1159880099.com)QQ1159880099<web-app> <display-name></display-name>WEB应用的名字 <description></description> WEB应用的描述 <context-param></context-param> context-param元素声明应用范围内的初始化参数 <!– 指定spring配置文件位置 –&

web页面分块加载

原文链接http://www.cnblogs.com/BearsTaR/archive/2010/05/19/flush_chunk_encoding.html 一般大家在处理这种情况,都使用ajax,先把html输出到客户端,然后再用ajax取加载比较耗时的资源.用ajax麻烦的地方是增加了请求数,而且需要写额外的js代码.和js调用的请求接口. 正对这种情况,还有一种处理方法,就是让response分块编码进行传输.response分块编码,可以先传输一部分不需要处理的html代码到客户端,

(转载)web.xml 中的listener、 filter、servlet 加载顺序及其详解

首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关.  但不会因为 filter 写在 listener 的前面而会先加载 filter.  最终得出的结论是:listener -> filter -> servlet 同时还存在着这样一种配置节:context-param,它用于向 ServletContext 提供键值对,即应用程序上下文信息.我们的 listener, filter 等在初始化时会用到这些上下文中的信息,那么 context-param 配置节是不是