浏览器加载原理
- 1、浏览器按照从上到下的顺序下载HTML文档,一边下载一边加载到内存,
不是全部下载后再全部加载到内存。另外DOM树结构的绘制优先于关联元素
的加载,比如图片 - 2、通常来说,浏览器执行JavaScript脚本有两大特性:①载入后马上执行。
②执行时会阻塞页面后续内容(包括页面的渲染、其它资源的下载) - 载入后马上执行
document.getElementById("but1").onclick=function(){
alert("DOM树");
}
特殊案例:
ddd(); //这样的调用方式正常,但是如果将函数定义在其他script标签中,则不能正常调用
function ddd(){
alert("毛!'");
}
- 阻塞后续执行
alert(‘dddd’);如果不点击确认按钮,则后续的代码不执行 - 3、浏览器加载HTML文档时如果遇到<script>标签就会停止后面元素的加载,
先对JavaScript脚本文件进行解析和执行
流程控制
-
表达式
一个表达式可以产生一个值,可能是运算、函数调用、字面量。表达式可以放在任何需要值的地方。 -
语句
语句可以理解为一个行为,循环语句和判断语句是典型的语句。一个程序可以有很多个语句组成,一般由分号进行结束和分割,特殊结构除外。 -
流程控制语句
通过一些特殊结构可以让js代码加载时,要么跳过一部分不加载,要么循环加载一部分代码,它包含条件分支语句和循环语句。
1. 条件分支语句
1.1 if语句
if (/* condition */) {
// code
} else {
// code
}
else部分可以不存在。
1.2 多分支if语句