1 Star 0 Fork 0

opensource-xjc/html-example

Create your Gitee Account
Explore and code with more than 13.5 million developers,Free private repositories !:)
Sign up
文件
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
README.md 3.00 KB
Copy Edit Raw Blame History
ben authored 2 years ago . *optimize

html样例代码

https://gitee.com/ext-opensource/html-example

html页面加载以及加载事件
1. dom渲染:
    页面dom解析完形成dom树,css解析完形成cssom树,然后dom、cssom合成render树,dom解析跟css解析互不影响.
2. js会操作dom跟css,故js会影响解析和渲染过程,有如下三种情况:
    1、<script>,dom树解析遇到script标签,立即停止解析,下载并运行js脚本,待js执行完毕,继续dom解析.
    2、<script defer>,这种是延迟执行脚本,dom树解析时遇到此标签,立即下载该js脚本,并保持dom解析同步进行.dom解析完毕后,按照js脚本顺序,依次执行js脚本.然后触发DOMContentLoaded事件.
    3、<script async>,异步执行脚本,dom渲染跟js互不干扰,DOMContentLoaded事件跟js脚本无关.多个js脚本执行顺序不定.
3. 页面事件的生命周期:
    ### window.DOMContentLoaded事件:
        在DOM树构建完毕后被触发,页面已经完全加载HTML,js可以访问所有DOM节点,初始化界面.
        图片及其他资源文件可能还在下载中.

    ### window.load事件:
        在页面所有资源被加载完毕后触发,通常我们不会用到这个事件,因为我们不需要等那么久.

    ### window.beforeunload事件:
        在用户即将离开页面时触发,它返回一个字符串,浏览器会向用户展示并询问这个字符串以确定是否离开.

    ### window.unload事件:
        在用户已经离开时触发,在这个阶段仅可以做一些没有延迟的操作,由于种种限制,很少被使用.

    ### document.readyState事件:
        表征页面的加载状态,可以在readystatechange中追踪页面的变化状态:
        loading -- 页面正在加载中.
        interactive -- 页面解析完毕,时间上和 DOMContentLoaded同时发生,不过顺序在它之前.
        complete -- 页面上的资源都已加载完毕,时间上和window.onload同时发生,不过顺序在他之前.
js解析器的执行原理
执行js代码一般分两步:1.预解析代码。   2.逐行执行代码。

第一步:预解析代码
    预解析代码呢,主要会把var , function , 参数等一些东西 存储进仓库里面(内存)。
    1.var 一般用于声明变量,预解析代码的时候,等号后面的赋值过程不会执行,所以预解析时的var 变量 都是未定义的。
    2,.function 函数呢,预解析的时候,值就是函数里面的内容。
    当变量和函数重名时:就只留下函数的值,不管顺序谁前谁后。所以函数的优先级比变量高。注意:这只是预解析。
    当函数和函数重名时:会留下后面那个,会遵循上下文机制。

第二步:逐行执行代码
    当预解析完成之后,就开始逐行执行代码了,全部代码都会完整的执行。
js加载模式
amd、cmd、common、umd、esm
其它
createDocumentFragment
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/ext-opensource/html-example.git
git@gitee.com:ext-opensource/html-example.git
ext-opensource
html-example
html-example
master

Search