什么是脚本,脚本语言?
一、腳本
百科解釋:
腳本(script)是使用一種特定的描述性語言,依據(jù)一定的格式編寫的可執(zhí)行文件,又稱作宏或批處理文件。
腳本通常可以由應(yīng)用程序臨時調(diào)用并執(zhí)行。各類腳本目前被廣泛地應(yīng)用于網(wǎng)頁設(shè)計中,因為腳本不僅可以減小網(wǎng)頁的規(guī)模和提高網(wǎng)頁瀏覽速度,而且可以豐富網(wǎng)頁的表現(xiàn),如動畫、聲音等。舉個最常見的例子,當(dāng)我們點擊網(wǎng)頁上的E-mail地址時能自動調(diào)用Outlook Express或Foxmail這類郵件軟件,就是通過腳本功能來實現(xiàn)的。也正因為腳本的這些特點,往往被一些別有用心的人所利用。例如在腳本中加入一些破壞計算機(jī)系統(tǒng)的命令,這樣當(dāng)用戶瀏覽網(wǎng)頁時,一旦調(diào)用這類腳本,便會使用戶的系統(tǒng)受到攻擊。所以用戶應(yīng)根據(jù)對所訪問網(wǎng)頁的信任程度選擇安全等級,特別是對于那些本身內(nèi)容就非法的網(wǎng)頁,更不要輕易允許使用腳本。通過“安全設(shè)置”對話框,選擇“腳本”選項下的各種設(shè)置就可以輕松實現(xiàn)對腳本的禁用和啟用。
?
通俗解釋:
腳本(Script)的意思最早是從演藝界來的。如果沒有腳本,該怎么表演? 表演者只能即興發(fā)揮,或者靠導(dǎo)演的口述來進(jìn)行。
有了腳本,帶來的最大變化是什么?
- 可重復(fù)。也就是說,有了腳本,可以把我們既定的一個規(guī)程不斷重復(fù)。
- 腳本需要人來執(zhí)行。因此腳本的執(zhí)行效率與具體的執(zhí)行人有關(guān)系。
- 如果在表演過程中,商定了某種大家認(rèn)可的修改,會考慮對腳本進(jìn)行修改,用以將我們修改的意圖記錄下來,將來的再現(xiàn)就可以反映這個修改。
對于 IT 行業(yè),腳本這個詞,是個絕妙的翻譯。他貼切的表達(dá)了這幾個含義(web前端開發(fā)中scripts文件下有.js文件就是腳本)。
- 腳本的用意是為了可再現(xiàn)的重復(fù)一個設(shè)定好的規(guī)程。
- 腳本需要有一個解釋器來執(zhí)行。
- 腳本能夠方便的,快速的,經(jīng)常的被修改。
所以說,要是打比喻:
你打開資源管理器,用鼠標(biāo)把一個文件拖到另外一個地方,這是即興表演。
你寫幾行命令,把他保存下來, 一執(zhí)行就做了上面的事情,這就是腳本。
即興表演,你重復(fù)100次,累死了。
腳本,你重復(fù)執(zhí)行100次,全是計算機(jī)搞定了
假設(shè)你經(jīng)常從網(wǎng)上下東西,全都放在 D 盤那個叫做 downloads 的文件夾里。而你有分類的癖好,每周都要把下載下來的圖片放到 pic 文件夾里,pdf 放到 book 文件夾里,mp3 和 wma 文件放到 music 文件夾里。手動分了一年之后你終于厭倦了,于是你打開記事本,寫了以下的三行字:
- copy /Y D:\download\*.jpg D:\pic\
- copy /Y D:\download\*.pdf D:\book\
- copy /Y D:\download\*.mp3 D:\music\
然后把它存成一個.bat 文件。想起來的時候你就雙擊一下這個文件,然后就發(fā)現(xiàn) download 里的三類文件都被拷到它們該去的地方了。這就是個非常簡單的腳本。
?
?
二、腳本語言
腳本語言泛指單用作簡單編程任務(wù)(如shell scripts)。
編程語言:
- 機(jī)器語言:0和1,人類幾乎沒辦法閱讀、理解
- 匯編語言:由一些特定指令構(gòu)成,學(xué)習(xí)成本比較高;在底層做一些驅(qū)動,體積小,運行效率高
- 高級語言:c、c++、java、php、python、javascript等
腳本語言是:
- 一種介乎于 HTML 和諸如 JAVA 、 Visual Basic 、 C++ 等編程語言之間的一種特殊的語言。
- 盡管它更接近后者,但它卻不具有編程語言復(fù)雜、嚴(yán)謹(jǐn)?shù)恼Z法和規(guī)則。
- 常見的腳本語言有:Python、JavaScript、
動態(tài)程序一般有兩種實現(xiàn)方式,一是二進(jìn)制方式,一是腳本方式。
我們上面提到的各種動態(tài)語言,如Python、ASP、PHP、CGI、JSP等,都是腳本語言。
?
系統(tǒng)語言與腳本語言之間的區(qū)別有很多,但主要的區(qū)別是:
- 1、抽象的級別:這是最重要、最明顯示的不同。腳本語言對程序員提供了更高級的抽象。這明顯表現(xiàn)在:在這種語言自身中,存在有高級的數(shù)據(jù)結(jié)構(gòu),如列表和字典結(jié)構(gòu),和對這種結(jié)構(gòu)簡單方便的嵌套和操作。這樣可以創(chuàng)建非常成功的程序。
- 2、類型定義:系統(tǒng)語言通常是強類型和靜態(tài)類型定義。這就意味著所有變量的類型要在程序中指定,在編譯時檢查。相反地,腳本語言是最松散的類型定義,完全沒有類型聲明,并且在運行時進(jìn)行動態(tài)類型檢查。
- 3、執(zhí)行:系統(tǒng)語言的特點是編譯的。程序被編譯成可執(zhí)行的二進(jìn)制。另一方面,腳本語言的特點是解釋,也就是,指令被立即執(zhí)行,不存在一個編譯的中間狀態(tài)。這就意味著腳本語言是交互式的(你可以在提示符下敲入命令,并且看到結(jié)果),這是另一個巨大的勝利。這樣完全將編譯過程從編輯-編譯-運行循環(huán)中去掉了。
- 4、速度:以上三點是腳本語言一方面在速度與效率, 一方面在易用性與表示式的強大性之間進(jìn)行折衷的典型例子。這就使得腳本語言的執(zhí)行速度比系統(tǒng)語言慢一個數(shù)量級。這就是對腳本語言誹謗最多的方面。性能的降低不是真正的問題,因為思想是用腳本語言來組合組件,這些組件是用象C 這樣的快速系統(tǒng)語言來編寫的。所以所有需要運行快速的東西將因為是用快速的語言實現(xiàn)的而運行得快速。
腳本語言只用于將東西綁在一起,并且這些通常不是性能的瓶頸( 或如果是,你需要重新檢查你的設(shè)計)。
?
三、總結(jié)
總結(jié)
以上是生活随笔為你收集整理的什么是脚本,脚本语言?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: urlencode编码基本概念_URLe
- 下一篇: Axure RP大数据可视化大屏BI原型