1. java是在服務(wù)器端運(yùn)行的代碼,jsp在服務(wù)器的servlet里運(yùn)行,而javascript和html都是在瀏覽器端運(yùn)行的代碼。所以加載執(zhí)行順序是是java>jsp>js。
2. js在jsp中的加載順序
頁(yè)面上的js代碼時(shí)html代碼的一部分,所以頁(yè)面加載的時(shí)候是由上而下加載。所以js加載的順序也就是頁(yè)面中script>標(biāo)簽出現(xiàn)的順序。script>標(biāo)簽里面的或者是引入的外部js文件的執(zhí)行順序都是其語(yǔ)句出現(xiàn)的順序,其中js執(zhí)行的過(guò)程也是頁(yè)面裝載的一部分。
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ù)定義之前就會(huì)報(bào)函數(shù)未定義錯(cuò)誤。
2.2 js中出現(xiàn)ajax的異步加載
由于ajax的異步加載可能會(huì)導(dǎo)致語(yǔ)句的執(zhí)行順序并不是按照語(yǔ)句的出現(xiàn)順序來(lái)執(zhí)行。下面以我做任務(wù)時(shí)遇到的問(wèn)題為例:
在頁(yè)面初始加載的時(shí)候需要向jsp發(fā)送請(qǐng)求來(lái)獲得該頁(yè)面所需的數(shù)據(jù),在ajax成功函數(shù)中,對(duì)data的操作所需時(shí)間過(guò)長(zhǎng),就會(huì)導(dǎo)致在ajax函數(shù)外面的confirm與loadTree比data操作后面的語(yǔ)句先執(zhí)行。最終在loadTree中使用data的值得時(shí)候就為空,此時(shí)全局變量openTab_Id就為空。
2.3控制js執(zhí)行順序
可以使用setTimeout(function(),time);來(lái)使function延遲加載。
標(biāo)簽:西藏 云浮 貴州 丹東 宿州 江西 紅河 青島
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《jsp頁(yè)面中的代碼執(zhí)行加載順序介紹》,本文關(guān)鍵詞 jsp,頁(yè)面,中的,代碼,執(zhí)行,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。