jsp页面中的代码执行顺序一直很不清楚,最近把这个给理了理
1、js脚本执行顺序优先于html标签
不明白的试试执行这个页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题 3</title> <script> alert("1-最先执行"); </script> </head> <body onload="alert('3-最后执行');"> <script> alert("2-接着执行"); </script> </body> </html>
2、分成多段的script脚本中,分段按顺序加载,相互的全局变量和函数可以互相调用
在js脚本中,函数定义可以放在函数执行后面。
<script type="text/javscrpt">//<![CDATA[ aa(); //浏览器报错//]]> </script> <script type="text/javscrpt">//<![CDATA[ aa(); //输出 1 function aa() { alert(1); }//]]> </script>
3、当js脚本中有document.write时,该部分内容会在加载完前面的html标签后再执行
4、当页面中有jsp代码时,先运行jsp代码,将相应结果写入根据jsp所处位置嵌入html标签中,再执行其他的
因为jsp代码是在服务器端执行,服务器先根据jsp生成静态的html页面,再将html发送给浏览器,浏览器再加载对应的代码
总结一下,其实jsp页面完完全全就是按顺序来执行的,至于前面说的会先执行js脚本再执行html,只是onload的特殊情况
看这个代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题 3</title> <script> alert("1-最先执行"); </script> </head> <body onload="alert('3-最后执行');"> 我才是第二执行的 <script> alert("2-接着执行"); </script> </body> </html>
原文地址:http://blog.csdn.net/lj94093/article/details/46126481