當前位置:
首頁 > 最新 > 問答集錦:VBScript、JavaScript 及其他

問答集錦:VBScript、JavaScript 及其他

書接上文,今天我們終於來到了這個很實際的問題:常聽人提起的VBScript、Javascript到底是什麼?

首先,從它們的名字(Script)就可以知道,這兩種語言在設計伊始,都是作為腳本語言推出的。我們先說說VBA學員最容易理解的VBScript:

上次文章中提到,腳本語言的一個重要用途是為系統管理員提供一個簡單的自動化工具,使其可以編寫一些小程序來高效的管理操作系統,比如批量修改文件名等等。那麼作為Windows系統的開發者,微軟公司必然也要推出這樣一種腳本語言,而眾所周知Basic語言是蓋茨同學的一生摯愛(不了解的同學可以去自行百度「蓋茨 Basic」),所以Windows 98以後的版本里都支持一種使用Basic語言的腳本程序,也就是VBScript。因為使用的是Basic語言,所以語法與VBA幾乎相同。如果大家想試一下,只要打開Windows自帶的記事本,然後寫幾行代碼(簡單的程序可以不寫Sub... End Sub ),比如下面這個樣子:

然後保存文件,並把文件的擴展名從 txt 修改為vbs:

這回直接用滑鼠雙擊這個圖標,就會發現它已經變成了一個可以直接運行的小程序。這就是一個典型的 VBScript 腳本程序。如果我們在其中加入一些類似文件、網路等系統操作的語句,就想可以方便的使用它來管理你的Windows了。

而隨著上世紀90年代互聯網的迅速發展,人們很快又找到了一個適合使用腳本語言的地方,那就是「WEB網頁程序設計」。網頁,就是我們在瀏覽器中輸入網址以後看到的內容。如果想讓網頁變得個性(比如同樣是一個論壇首頁,我登錄以後會看到「楊洋你好」,張三登錄以後看到的則是「張三你好」)、華麗(比如各種頁面動畫效果),就需要為這些網頁編寫一些程序。一般來說,我們有兩種網頁編程方式:(1)把程序代碼保存在網站伺服器上,這樣每當用戶向伺服器申請查閱某個網頁時,伺服器運行這個程序,然後針對這個用戶生成一個專供他查閱的網頁內容,發送到該用戶的瀏覽器;(2)把程序代碼保存在網頁中,當用戶想伺服器申請這個網頁時,伺服器直接把程序代碼也發送給用戶瀏覽器,然後由用戶的瀏覽器運行這個程序。

這兩種方式的區別就在於程序是在網站的伺服器上運行,還是在用戶自己的瀏覽器中運行。伺服器端運行的被稱為「後端開發」,運行方式更接近於傳統的Java、C等語言,適合於產生定製化、個性化的網頁;而瀏覽器端運行的則被稱為「前端開發」,更適合於製作網頁本身的各種效果如動畫、遊戲等(近幾年隨著各種新技術的出現,前端和後端的界限也開始模糊了)。

由於前端運行的程序代碼需要跟網頁內容混在一起發送給瀏覽器,而且最初只是用來控制瀏覽器從而實現一些特殊效果(比如經典的「滑鼠跟隨」),所以沒有必要像編寫Java程序那樣嚴謹、冗長,而是更適合使用靈活短小的腳本語言。因此在微軟公司推出的IE系列瀏覽器中,就嵌入了一個VBScript解釋器,從而允許在網頁中夾雜VBScript程序,實現網頁的動態效果。由於這種腳本語言簡單易學,所以也深受沒有編程基礎的網頁設計師喜愛,迅速被市場所接受。同時微軟也基於VBScript推出了專門用於後端伺服器開發的語言,就是曾經風靡一時的ASP。

不過很多年輕朋友可能不知道的是,當年的瀏覽器市場上,真正的老大並不是 IE (雖然 IE 現在也已經作古),而是曾經威名天下、幾乎一統江湖的Netscape(「網景」)。1995年前後,網景公司非常看好當時Sun公司剛剛推出的Java語言,因此決定與Sun合作,在Java的基礎上做一個網景瀏覽器使用的網頁腳本語言(相當於IE瀏覽器中的VBScript)。不過網景的工程師覺得Java語法並不適合網頁設計師等非專業人士學習,因此雖然表面上引入了很多Java的C系語法,卻在核心思想上參照Scheme等語言進行了大刀闊斧的重新設計,最終成果可以說與Java完全不同。不過出於市場戰略,這門語言最終還是被命名為了JavaScript,並且在1997年前後就已經被微軟等巨頭所承認,可以運行在所有主流的瀏覽器中,甚至在親歷了 NetScape 和 Sun 這兩個超級巨頭的消亡之後,反而愈發具有生命力。

之所以JavaScript等網頁腳本語言現在比以前更加流行,主要在於「雲計算」時代下,越來越多的軟體功能被轉移到了瀏覽器中,甚至一個計算機上只要安裝了瀏覽器並且能夠上互聯網,就可以滿足用戶各種需要,包括遊戲(網頁在線遊戲)、辦公(在線文檔編輯)、文件管理(百度雲盤)等等。而現在計算機和瀏覽器的運行效率也確實遠遠高於10年前,所以可以在瀏覽器中運行更加複雜、專業和龐大的程序,這就給Javascript提供了更大的發揮空間。想當年楊老師第一次大量編寫Javascript還是在2001年,目標是在網頁中實現動態生成統計圖表的功能。當時第一版程序測試時,輸入網址後要等半分鐘才會顯示出完整的網頁,所有時間都耗費在代碼運行上。後來用了幾天的時間嘗試了各種演算法優化,效率才逐漸提高到可接受的水平。按那時的體驗,真的很難想像今天僅憑JavaScript就可以完成這麼複雜需求。

所以,時至今日,瀏覽器中的網頁前端開發已經變得越來越重要,因而JavaScript作為主流的前端開發工具自然也就越發火爆。而近幾年又出現了NodeJS這個工具,使熟悉 JavaScript 用戶可以開發伺服器端程序,也進一步推動了JavaScript的流行。

不過歸根到底,目前JavaScript仍然具有明顯的「腳本語言」特色,因為它的活動空間主要還是局限在瀏覽器(前端)和網站伺服器(後端)之中,就像VBA難以在Office軟體之外使用一樣。這也就是為什麼腳本語言與傳統的開發工具之間互為補充、卻難以相互取代的原因。因此最終還是楊老師常說的那句話:工具萬千、實用為王

最後附上TIOBE最近一期的程序語言熱度排行榜(基於Google、Baidu、Wiki、YouTube等各大網站的搜索熱度),算是為我們這一系列文章做一個小結:

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 楊氏在線教學 的精彩文章:

TAG:楊氏在線教學 |

您可能感興趣

Android中menu的使用集錦
三星Galaxy Watch智能手錶傳言集錦:或與Note 9手機同步發布
Louis Vuitton櫥窗陳列集錦
2017慈緣雅集之問禪集錦Some questions about Zen of CiYuan 2017
FAIR最新視覺論文集錦:FPN,RetinaNet,Mask和Mask-X RCNN
Sheriff SWAT圖片集錦1
FAIR最新視覺論文集錦:FPN,RetinaNet,Mask 和 Mask-X RCNN(含代碼實現)
大數據分析工程師面試集錦 3-SQL/SparkSql/HiveQL
圖片集錦-Poulsbo
群星聯賽S7總決賽高光集錦 NiP vs Spirit
三星Galaxy Note 9傳言集錦:屏下指紋還是個謎
Mac OS 蘋果電腦 蘋果筆記本 MacBook Pro 使用技巧集錦
C94上cosplay集錦第三彈
收藏|韓國個性女模chomegyu造型集錦
Python小貼士集錦
2018 NICONICO超會議Cosplay 集錦
2019 NICONICO超會議Cosplay集錦
佛系小Blue 仙氣Lady Gaga 第60屆格萊美歡樂瞬間集錦
cosplay美圖集錦,最喜歡第四張
cosplay集錦,你喜歡哪一個?