JavaScript是面向Web的編程語言。絕大多數現代網站都使用了JavaScript,而且全部的現代Web瀏覽器——基於桌面系統、遊戲機、平板電腦和智能手機的瀏覽器——均包含了JavaScript解釋器。這使得JavaScript可以稱得上史上使用最普遍的編程語言。JavaScript也是前端開發工程師必須掌握的三種技能之一:描述網頁內容的HTML、描述網頁樣式的CSS以及描述網頁行爲的JavaScript。
JavaScript是一門高端的、動態的、弱類型的編程語言,很是適合面向對象和函數式的編程風格。JavaScript的語法源自Java,它的一等函數(first-class function)來自於Scheme,它的基於原型(prototype-based)的繼承來自於Self。但使用學習JavaScript沒必要去了解那些(Java/Scheme/Self)語言或熟悉那些術語。「JavaScript」這個名字常常被誤解。除了語法看起來和Java相似以外,JavaScript和Java是徹底不一樣的兩種編程語言。JavaScript早已超出了其「腳本語言」(scripting-language)自己的範疇,而成爲一種集健壯性、高效性和通用性爲一身的編程語言。最新的語言版本爲嚴謹的大型軟件開發定義了諸多新的特性。前端
JavaScript是由Web發展初期的網景(Netscape)公司建立,「JavaScript」是Sun Microsystem公司(如今的Oracle)的註冊商標,用來特指網景(如今的Mozilla)對這門語言的實現。網景將這門語言做爲標準提交給了ECMA——歐洲計算機制造協會——因爲商標上的衝突,這門語言的標準版本改了一個醜陋的名字「ECMAScript」。一樣因爲商標的衝突,微軟對這門語言的實現版本取了一個廣爲人知的名字「Jscript」。實際上,幾乎全部人都將這門語言叫作「JavaScript」。
在最近10年間,全部的Web瀏覽器都實現了第3版ECMAScript標準,語言標準已經很穩定了,而且被幾乎全部瀏覽器完整地實現了。正如咱們常常將JavaScript簡寫成JS同樣,ECMAScript 3和ECMAScript5有時也會簡寫成ES3和ES5。一般所指的語言版本是ECMAScript 3和ECMAScript 5(ECMAScript 4已經開發了數年,但因爲太過龐大,從未發佈過正式版本)。有時會看到JavaScript的版本號(好比JavaScript 1.5或JavaScript 1.8)。這些是Mozilla的版本號:版本1.5基本上就是ECMAScript 3。最後,JavaScript解釋器或者「引擎」(engine)也有版本號,好比,Google將它的JavaScript解釋器叫作V8 。一般每一種編程語言都有各自的開發平臺、標準庫或API函數,用來提供諸如基本輸入輸出的功能。JavaScript語言核心針對文本、數組、日期和正則表達式的操做定義了不多的API,可是這些API不包括輸入輸出功能。輸入和輸出功能(相似網絡、存儲和圖形相關的複雜特性)是由JavaScript所屬的「宿主環境」(host enviroment)提供的。正則表達式