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