JavaScript不是服務(wù)端腳本語言,而是客戶端腳本語言;JavaScript是一種腳本語言,其源代碼在發(fā)往客戶端運行之前不需經(jīng)過編譯,不需要服務(wù)端的支持,是解釋型的腳本語言;可以利用nodejs實現(xiàn)JavaScript運行在服務(wù)器端的效果。
本教程操作環(huán)境:windows10系統(tǒng)、javascript1.8.5版、Dell G3電腦。
javascript是服務(wù)器端腳本語言嗎
javascript不是服務(wù)器端腳本語言,JavaScript是客戶端腳本語言,它不需要服務(wù)器的支持,是解釋型的腳本語言,主要是應(yīng)用在客戶端。
JavaScript是一種腳本語言,其源代碼在發(fā)往客戶端運行之前不需經(jīng)過編譯,而是將文本格式的字符代碼發(fā)送給瀏覽器由瀏覽器解釋運行。
JavaScript腳本語言具有以下特點:
(1)腳本語言。
JavaScript是一種解釋型的腳本語言,C、C++等語言先編譯后執(zhí)行,而JavaScript是在程序的運行過程中逐行進行解釋。
(2)基于對象。
JavaScript是一種基于對象的腳本語言,它不僅可以創(chuàng)建對象,也能使用現(xiàn)有的對象。
(3)簡單。
JavaScript語言中采用的是弱類型的變量類型,對使用的數(shù)據(jù)類型未做出嚴(yán)格的要求,是基于Java基本語句和控制的腳本語言,其設(shè)計簡單緊湊。
(4)動態(tài)性。
JavaScript是一種采用事件驅(qū)動的腳本語言,它不需要經(jīng)過Web服務(wù)器就可以對用戶的輸入做出響應(yīng)。在訪問一個網(wǎng)頁時,鼠標(biāo)在網(wǎng)頁中進行鼠標(biāo)點擊或上下移、窗口移動等操作JavaScript都可直接對這些事件給出相應(yīng)的響應(yīng)。
(5)跨平臺性。
JavaScript腳本語言不依賴于操作系統(tǒng),僅需要瀏覽器的支持。因此一個JavaScript腳本在編寫后可以帶到任意機器上使用,前提上機器上的瀏覽器支 持JavaScript腳本語言,目前JavaScript已被大多數(shù)的瀏覽器所支持。[3]
不同于服務(wù)器端腳本語言,例如PHP與ASP,JavaScript主要被作為客戶端腳本語言在用戶的瀏覽器上運行,不需要服務(wù)器的支持。所以在早期程序員比較青睞于JavaScript以減少對服務(wù)器的負擔(dān),而與此同時也帶來另一個問題:安全性。
而隨著服務(wù)器的強壯,雖然程序員更喜歡運行于服務(wù)端的腳本以保證安全,但JavaScript仍然以其跨平臺、容易上手等優(yōu)勢大行其道。同時,有些特殊功能(如AJAX)必須依賴Javascript在客戶端進行支持。隨著引擎如V8和框架如Node.js的發(fā)展,及其事件驅(qū)動及異步IO等特性,JavaScript逐漸被用來編寫服務(wù)器端程序。
擴展知識:
JavaScript腳本語言編程范例
JavaScript是一種腳本語言,其源代碼在發(fā)往客戶端運行之前不需經(jīng)過編譯,而是將文本格式的字符代碼發(fā)送給瀏覽器由瀏覽器解釋運行。直譯語言的弱點是安全性較差,而且在JavaScript中,如果一條運行不了,那么下面的語言也無法運行。而其解決辦法就是于使用try{}catch(){}︰
console.log("a");//這是正確的 console.log("b");//這是正確的 console.logg("c");//這是錯誤的,并且到這里會停下來 console.log("d");//這是正確的 console.log("e");//這是正確的 /*解決辦法*/ try{console.log("a");}catch(e){}//這是正確的` try{console.log("b");}catch(e){}//這是正確的 try{console.logg("c");}catch(e){}//這是錯誤的,但是到這里不會停下來,而是跳過 try{console.log("d");}catch(e){}//這是正確的 try{console.log("e");}catch(e){}//這是正確的
Javascript被歸類為直譯語言,因為主流的引擎都是每次運行時加載代碼并解譯。V8是將所有代碼解譯后再開始運行,其他引擎則是逐行解譯(SpiderMonkey會將解譯過的指令暫存,以提高性能,稱為實時編譯),但由于V8的核心部份多數(shù)用Javascript撰寫(而SpiderMonkey是用C++),因此在不同的測試上,兩者性能互有優(yōu)劣。與其相對應(yīng)的是編譯語言,例如C語言,以編譯語言編寫的程序在運行之前,必須經(jīng)過編譯,將代碼編譯為機器碼,再加以運行。
【