asp、asp.net、jsp和php與javascript之間的關(guān)系
前面四種是服務(wù)端語(yǔ)言,而javascript是客戶端語(yǔ)言。
服務(wù)端語(yǔ)言和客戶端語(yǔ)言有什么區(qū)別呢?
服務(wù)端語(yǔ)言主要是用來(lái)生成html+javascript這樣的客戶端頁(yè)面的,它們不會(huì)被實(shí)際發(fā)送到客戶端,而是先在服務(wù)器端的計(jì)算機(jī)上執(zhí)行,然后生成客戶端代碼,再將這些代碼發(fā)送給瀏覽網(wǎng)頁(yè)的客戶端。
asp是個(gè)特例,它本身使用vbscript或javascript語(yǔ)法,它本身只提供了五大對(duì)象,這五個(gè)對(duì)象主要是面向服務(wù)端應(yīng)用的。
javascript語(yǔ)言一般運(yùn)行在客戶端,服務(wù)器只是把html和javascript代碼原樣發(fā)送給客戶端,就好像它們不是代碼而是普通文本一樣,然后再由客戶端瀏覽器解釋這些代碼并顯示頁(yè)面。
但上面也說(shuō)了,asp自己并沒(méi)有語(yǔ)法,它可以選擇使用javascript語(yǔ)法來(lái)編程。因此javascript也是可以運(yùn)行在服務(wù)端的。
asp是解釋執(zhí)行的,寫(xiě)好的asp代碼并不編譯,asp.net是編譯之后才執(zhí)行的
jsp是先編譯,但不是生成機(jī)器代碼,而是生成class中間代碼,然后解釋執(zhí)行
php也是解釋執(zhí)行的,和asp差不多。
估計(jì)你看了會(huì)有些暈,我給你再總結(jié)一下吧:
編程的時(shí)候,服務(wù)端語(yǔ)言與客戶端語(yǔ)言(html和javascript)是混合在一起的,然后當(dāng)有瀏覽器要瀏覽這個(gè)網(wǎng)頁(yè)的時(shí)候,服務(wù)端的網(wǎng)頁(yè)服務(wù)器就會(huì)執(zhí)行其中的服務(wù)端語(yǔ)言,執(zhí)行之后一般都會(huì)生成一些html和javascript代碼,這些新生成的代碼和原先頁(yè)面中就有的客戶端代碼組織在一起之后再發(fā)送給客戶端。
差不多就是這個(gè)過(guò)程了,現(xiàn)在知道服務(wù)端語(yǔ)言和客戶端語(yǔ)言之間的關(guān)系了吧,對(duì)服務(wù)器來(lái)說(shuō),服務(wù)端語(yǔ)言是程序而客戶端語(yǔ)言只是普通文本;對(duì)瀏覽器來(lái)說(shuō),服務(wù)端語(yǔ)言它完全不懂,它只認(rèn)得客戶端語(yǔ)言,因此假設(shè)網(wǎng)頁(yè)中包含的服務(wù)端語(yǔ)言原樣發(fā)送到了瀏覽器,瀏覽器也只會(huì)把它當(dāng)成普通文本來(lái)顯示,并不能執(zhí)行。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。