日期:2014-05-17  浏览次数:20706 次

HTML加载顺序笔记

html加载javascript执行顺序
1、JavaScript代码是Html文档的一部分,标记里面或者通过src引入的外部JS都是按照其语句的出现顺序执行的
2、每个脚本定义的全局变量和函数都可以被后面执行的脚本所调用
3、变量调用前必须提前声明,否则获取的变量值是undefined
4、同一段脚本,函数定义可以出现在函数调用的后面,但是如果分别在两端代码,且函数调用在第一段代码中,则会报错。例如:

<script type="text/javascript">
aa();//浏览器会报错
</script>
<script type="text/javascript">
aa();//输出1
function aa(){
 alert(1);
}
</script>

?5、document.write()会把输出写入到脚本文档所在的位置,浏览器解析完document.write()方法之后,会继续解析输出的内容。例如:

<script type="text/javascript">
document.write('<script type=\"text\/javascript\" src=\"test.js\"><\/script>');
document.write('<script type="text\/javascript">');
document.write('alert(2);');
document.write('alert(\"我是\" + temp);');
document.write('<\/script>');
</script>
<script type="text/javascript">
document.write('alert(3);');
</script>

?6、上面的例子只能在firefox中能够正常运行,不会出现脚本错误——在ie中,不会等待test.js下载并解析完的,会创建另一线程搞定它,而主线程则越过去。但在ff中。则会等待,直到test.js下载、解析、执行完毕。
7、可以利用onload事件改变JavaScript执行顺序
8、利用AJAX能够改变代码的加载顺序