JavaScript語言至少重生9次了。作為Netscape瀏覽器的一部分,它在1996年正式亮相,愉快地度過了網際網路時代的頭第15個年頭。 JavaScript被設計為一種簡單的語言,用來製作更吸引人的HTML頁面。它易於使用——並且工作得很好,而非一個完整的程式語言。從那時起它經歷起伏。它的低點是在21世紀初,當ASP.NET釋出第一個版本,目的明確地要限制開發者接觸HTML和JavaScript。幾年後開始,隨著Ajax的出現,JavaScript開始反擊。
雖然JavaSript曾經生活在瀏覽器引擎的框架內,近期更智慧和快速的引擎出現,它們能夠獨立於瀏覽器,給JavaScript提供了更廣的空間(如Node.js)。
今天,JavaScript是開發者的重要技能。儘管仍然很容易熟悉,掌握它強大的最新實現即“JavaScript And ECMA-262”並不是無關緊要的。
很多人應該知道誰更好依然認為JavaScript作為瀏覽器的語言,其廣泛的採用持懷疑態度。在現實中,JavaScript語言依賴於一個可靠的標準定義由ECMA-262和ISO / IEC 16262:2011論文。
一些應更深入瞭解情況的人仍然認為JavaScript是瀏覽器語言,對於廣泛適用性抱有懷疑。事實上,JavaScript基於ECMA-262 和 ISO/IEC 16262:2011定義的一個堅實的標準。
那麼,為何大驚小怪?
重要的是要明白,“JAVASCRIPT”是一個通用術語。 ECMA-262是公認的標準和它的許多實現。當然,只有在執行環境使指令能夠被編譯和執行時,一種程式語言才有意義。反過來,執行環境要存在於可執行程式的環境內。目前有若干可能的情況。最常見的是基於遵守ECMA-262的引擎的瀏覽器。一個實際的例子是擁有V8引擎並且使用JavaScript(遵守ECMA-262的語言)的Google Chrome。因此,本質上,JavaScript是一個基於ECMA-262的語言名稱。更準確地說,Google Chrome以ECMA-262第五版為目標。Firefox配備Gecho作為指令碼引擎,也目指ECMA-262第五版。Internet Explorer用Chakra引擎和JScript語言。Adobe Flash採用ActionScript語言,Acrobat Reader採用名為JavaScript但是以ECMA-262為目標的語言。最後,Opera採用ECMAScript,是該標準的一個嚴格實現。
如下述的,對JavaScript的圖景不清晰不僅限於其名字。
JavaScript分支語言
一種程式語言的分支語言從屬於它的標準語言。這種附屬地位產生和標準的微弱差異(主要是擴充套件)。例如,JScript中提供了一些額外的命令來支援ActiveX物件和本地計算機的訪問。這種支援ECMA-262標準並不提供。同樣的,ActionScript也能做到。
JavaScript分支語言怎麼樣呢?它類似於Mozilla管理的準標準。JavaScript標準服從其自身的版本名,版本名錶明面向哪個ECMA標準。JavaScript,JScript,ActionScript和其他的變型很大程度上依賴於同樣的標準,被認為是相同的。
2002年,微軟釋出了.NET Framework的第一版,包括了編譯改作版的被叫做JScript.NET的JScript的非正式的編譯器。應該說JScript.NET從來沒有徵服大眾:到今天也沒有適配,甚至在Visual Studio中也沒有。
司空見慣的我們認為這現象是個巧合而已:微軟會提供一個好點子,但是不會首先做出非常好的實現。用Web友好的語言為新的.NET Framework開發應用是個好點子。不過,很難面向超過主文獻中的元素。因此,微軟提供了語言,裡面有包括能直接連結.NET Framework的類。我們就可以用JScript的語法來寫Windows Forms程式。不過,用以HTML和CSS為中心的Web正規化來寫同樣Windows Forms程式不在考慮範圍內。
隨著Windows 8釋出,微軟正在使得JavaScript成為一流的軟體設計平臺:它聰明地選擇允許傳統的Web正規化。開發者使用HTML5來排版,用CSS風格化,用簡樸的JavaScript(嚴格地,基於ECMA的指令碼)來處理頁面元素。開發者也能使用系統提供的庫,這些庫能提供介面小工具和使用Windows 8 獨有功能的工具,比如活動方磚圖示。微軟在Windows 8才開始全面採用JavaScript確實很遲,但是仍然讓人很愉快。