js和jsp的執行順序
阿新 • • 發佈:2019-01-31
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傳送給瀏覽器,瀏覽器再載入對應的程式碼
4、js指令碼必須放在head或body裡面,不然提示invalid location of tag(script)
總結一下,其實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>