js执行顺序
1.onload的js函数是在网页加载完毕后才执行,即它是网页最后才执行的函数。
2.js执行顺序html演示
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script type="text/javascript">
console.info("top script");
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
console.info("head script");
</script>
<script type="text/javascript">
console.info("num:" + num); // undefined
var num=1;
console.info("num:" + num); // 1
/* 对函数预编译的演示 */
hello();
function hello(){
console.info("hello");
}
</script>
<script type="text/javascript">
hello();
/* 变量的赋值操作是在解析的时候执行*/
function hello(){
console.info("hello!!!");
}
demo();
var demo=function(){
console.info("demo!!!!");
}
// 全局的变量和函数是可以共享的
console.info("num:" + num);
</script>
<script type="text/javascript" src="other/fn.js"></script>//fn.js console.log('fn.js');
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JavaScript执行顺序</title>
</head>
<body>
<script type="text/javascript">
console.info("body script");
</script>
<ul>
<li>默认情况下,浏览器是从上而下解析html代码,当然script嵌入在html中,因此也会按照此顺序,并且外面引入的文件也不会修改此顺序</li>
<li>当解析到script则会调用js解析器,通常js解析器是先预编译,在解析执行.解析器对(变量和函数的声明进行了预编译)</li>
<li>js解析器是按照script片段来预编译和解析的,先预编译第一script片段然后执行,然后在编译第二script片段然后执</li>
<li>在解析执行某个script代码片段是,如果此代码段有问题,则会停止执行当前script后面的代码,但是对后面的script不受影响</li>
<li>在编写js代码的时候,尽量变量和函数都是先声明后使用.2: 因为变量可以在不同的代码片段中共享,因此局部变量应当放到函数中</li>
</ul>
</body>
</html>
<script type="text/javascript">
console.info("end script");
</script>