JavaScript 网页运行原理 详解
2018-01-11 10:05
549 查看
打卡一个网页,浏览器会首先创建一个窗口,该窗口就是一个 window对象,就是 Javascript运行所依附的去全局环境对象和全局作用域对象。为加载网页文档,当前窗口将为要打开的网页创建一个 document对象,然后将网页加载到 document中,网页就是在这个过程中一边加载一边呈现出来的
在一边加载一边呈现过程中,有 <script>标签分割的每一段JavaScript代码都是严格按照文档中的顺序来加载和执行的,对于那些<script>标签引入的外部JS文件,加载过程可能分派给多个线程去完成,但是浏览器会等待需要的JS文件加载完成,最终还是会按照顺序执行JavaScript代码的程序逻辑,之后在处理其它内容
进行加载和执行的目的是建立文档对象模型 (DOM) 主框架,而这个主框架是由当前文档窗口主线程离开处理,并依照严格顺序进行,而网页中可以异步加载其他附属资源,如 图片、声音和视频等多媒体数据,是安排在其它线程去处理
Web标准 有一个限制,就是对同一个域名最多只允许使用两个连接来读取内容,就是在同一个域名情况下只有两个线程可以同时加载内容,其它的会处于等到状态。因此,浏览器使用多少线程在同时加载网页,要看网页内容涉及多少域名,反正一个域名两个连接,线程多了也会阻塞
当网页主框架加载和执行完毕,浏览器才开始触发 window对象或 body对象的 onload事件,在极少数情况下网页要是没有body对象浏览器会在网页加载完后自动创建一个body对象,并将其设置为document的body属性
设置window对象的onload事件 或 设置body对象的 onload事件,只有一个起作用
当网页主框架加载完成,由此引发的事件也处理完毕,JavaScript就等待下一次执行的时间,当用户的点击、网页定时刷新或者setTimeout 和 setinterval语句达到指定时间,JavaScript 执行引擎再次被启动,以执行相应的JavaScript代码,因此可以认为 JavaScript总是被动执行的
当打开或刷新网页时,顶层的 JavaScript代码被执行;设定的时间到达时,相关的JavaScript函数又被执行,网页元素的事件又被执行,但一切寂静下来之后,没有任何JavaScript代码被执行
同一个浏览器进程中开启多个页面,多个窗口,里面的 JavaScript代码都是由同一个线程来执行
在一边加载一边呈现过程中,有 <script>标签分割的每一段JavaScript代码都是严格按照文档中的顺序来加载和执行的,对于那些<script>标签引入的外部JS文件,加载过程可能分派给多个线程去完成,但是浏览器会等待需要的JS文件加载完成,最终还是会按照顺序执行JavaScript代码的程序逻辑,之后在处理其它内容
进行加载和执行的目的是建立文档对象模型 (DOM) 主框架,而这个主框架是由当前文档窗口主线程离开处理,并依照严格顺序进行,而网页中可以异步加载其他附属资源,如 图片、声音和视频等多媒体数据,是安排在其它线程去处理
Web标准 有一个限制,就是对同一个域名最多只允许使用两个连接来读取内容,就是在同一个域名情况下只有两个线程可以同时加载内容,其它的会处于等到状态。因此,浏览器使用多少线程在同时加载网页,要看网页内容涉及多少域名,反正一个域名两个连接,线程多了也会阻塞
当网页主框架加载和执行完毕,浏览器才开始触发 window对象或 body对象的 onload事件,在极少数情况下网页要是没有body对象浏览器会在网页加载完后自动创建一个body对象,并将其设置为document的body属性
设置window对象的onload事件 或 设置body对象的 onload事件,只有一个起作用
当网页主框架加载完成,由此引发的事件也处理完毕,JavaScript就等待下一次执行的时间,当用户的点击、网页定时刷新或者setTimeout 和 setinterval语句达到指定时间,JavaScript 执行引擎再次被启动,以执行相应的JavaScript代码,因此可以认为 JavaScript总是被动执行的
当打开或刷新网页时,顶层的 JavaScript代码被执行;设定的时间到达时,相关的JavaScript函数又被执行,网页元素的事件又被执行,但一切寂静下来之后,没有任何JavaScript代码被执行
同一个浏览器进程中开启多个页面,多个窗口,里面的 JavaScript代码都是由同一个线程来执行
相关文章推荐
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第19讲_js运行原理_js开发工具介绍_js程序(hello)_js基本语法_学习笔记_源代码图解_PPT文档整理
- 深入浅出javascript(四)网页运行原理
- Javascript学习笔记十——网页运行原理
- 从JavaScript思考网页运行原理
- javascript网页对话框参数详解
- Windows程序运行原理 之 WNDCLASS详解
- JavaScript 运行机制详解:再谈Event Loop
- ptrace运行原理及使用详解
- Javascript学习笔记10——网页运行原理
- JavaScript 运行机制详解:再谈Event Loop
- JavaScript 运行机制详解:Event Loop
- IE与FF下javascript获取网页及窗口大小的区别详解
- JavaScript 数组去重的多种方法原理详解
- JavaScript数据结构与算法之队列原理与用法实例详解
- 【朴灵评注】JavaScript 运行机制详解:再谈Event Loop
- 微信网页 第三方登录原理详解
- Hadoop运行原理详解
- 404错误的调试分析 - 运行JSP动态网页Tomcat老是报404错误(详解)
- JavaScript运行原理解析