jsp頁面中的代碼執(zhí)行加載順序介紹
1. java是在服務(wù)器端運(yùn)行的代碼,jsp在服務(wù)器的servlet里運(yùn)行,而javascript和html都是在瀏覽器端運(yùn)行的代碼。所以加載執(zhí)行順序是是java>jsp>js。
2. js在jsp中的加載順序
頁面上的js代碼時(shí)html代碼的一部分,所以頁面加載的時(shí)候是由上而下加載。所以js加載的順序也就是頁面中<script>標(biāo)簽出現(xiàn)的順序。<script>標(biāo)簽里面的或者是引入的外部js文件的執(zhí)行順序都是其語句出現(xiàn)的順序,其中js執(zhí)行的過程也是頁面裝載的一部分。
2.1 在js腳本中定義的全局變量和函數(shù),都可以在后面的腳本中調(diào)用。變量的調(diào)用,必須是前面已經(jīng)聲明了的,否則變量返回的值是undefined。同一段腳本中,函數(shù)定義可以出現(xiàn)在函數(shù)的調(diào)用后面;若函數(shù)的定義和調(diào)用在兩個(gè)腳本段中,函數(shù)調(diào)用在函數(shù)定義之前就會報(bào)函數(shù)未定義錯(cuò)誤。
2.2 js中出現(xiàn)ajax的異步加載
由于ajax的異步加載可能會導(dǎo)致語句的執(zhí)行順序并不是按照語句的出現(xiàn)順序來執(zhí)行。下面以我做任務(wù)時(shí)遇到的問題為例:
在頁面初始加載的時(shí)候需要向jsp發(fā)送請求來獲得該頁面所需的數(shù)據(jù),在ajax成功函數(shù)中,對data的操作所需時(shí)間過長,就會導(dǎo)致在ajax函數(shù)外面的confirm與loadTree比data操作后面的語句先執(zhí)行。最終在loadTree中使用data的值得時(shí)候就為空,此時(shí)全局變量openTab_Id就為空。
2.3控制js執(zhí)行順序
可以使用setTimeout(function(),time);來使function延遲加載。
相關(guān)文章
詳解Spring data 定義默認(rèn)時(shí)間與日期的實(shí)例
這篇文章主要介紹了詳解Spring data 定義默認(rèn)時(shí)間與日期的實(shí)例的相關(guān)資料,這里提供實(shí)例幫助大家學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下2017-08-08動(dòng)態(tài)JSP頁生成靜態(tài)HTML的方法
這篇文章主要介紹了動(dòng)態(tài)JSP頁生成靜態(tài)HTML的方法,以實(shí)例形式較為詳細(xì)的分析了JSP生成靜態(tài)HTML頁面的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09jsp中實(shí)現(xiàn)上傳圖片即時(shí)顯示效果功能
上傳圖片時(shí)即時(shí)顯示圖片效果,這在項(xiàng)目開發(fā)中時(shí)很常見的一項(xiàng)功能,接下來介紹此功能的實(shí)現(xiàn)過程,有需要的朋友可以參考下2013-01-01java 中Spring task定時(shí)任務(wù)的深入理解
這篇文章主要介紹了java 中Spring task定時(shí)任務(wù)的深入理解的相關(guān)資料,這里提供實(shí)例來幫助大家理解task定時(shí)任務(wù),希望大家通過本文掌握這部分內(nèi)容,需要的朋友可以參考下2017-09-09JavaWeb Servlet中url-pattern的使用
這篇文章主要介紹了JavaWeb Servlet中url-pattern的使用的相關(guān)資料,希望通過本文能幫助到大家,讓大家學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下2017-10-10