作為一名程序員,想必大家都應該知道GitHub這個全球最大的同性交友網站 ,那你知道那些G友們一天天談論最多的東西是什么?沒錯就是JavaScript語言,今天我們就來淺談一下帶點基情的語言JavaScript~~~
什么是JavaScript?
JavaScript,一種高級編程語言,通過解釋執行,是一門動態類型,面向對象(基于原型)的直譯語言[4]
。它已經由ECMA(歐洲電腦制造商協會)透過ECMAScript實現語言的標準化[4]
。它被世界上的絕大多數網站所使用,也被世界主流瀏覽器(Chrome、IE、FireFox、Safari、Opera)支持。JavaScript是一門基于原型、函數先行的語言[5]
,是一門多范式的語言,它支持面向對象程式設計,命令式程式設計,以及函數式程式設計。它提供語法來操控文本、陣列、日期以及正則表達式等,不支援I/O,比如網路、儲存和圖形等,但這些都可以由它的宿主環境提供支援。
雖然JavaScript與Java這門語言不管是在名字上,或是在語法上都有很多相似性,但這兩門編程語言從設計之初就有很大的不同,JavaScript的語言設計主要受到了Self(一種基于原型的編程語言)和Scheme(一門函數式編程語言)的影響[5]
。在語法結構上它又與C語言有很多相似(例如if條件語句、while循環、switch語句、do-while循環等)[6]
。
在客戶端,JavaScript在傳統意義上被實現為一種解釋語言,但在最近,它已經可以被即時編譯(JIT)執行。隨著最新的HTML5和CSS3語言標準的推行它還可用于游戲、桌面和行動應用程序的開發和在服務器端網路環境運行,如Node.js。
JavaScript的背后
1995年,當時在網景公司就職的布蘭登·艾克正為Netscape Navigator 2.0瀏覽器開發的一門名為LiveScript的腳本語言,后來網景公司與昇陽電腦公司組成的開發聯盟為了讓這門語言搭上java這個編程語言“熱詞”,將其臨時改名為“JavaScript”,日后這成為大眾對這門語言有諸多誤解的原因之一。怪不得這語言那么基情~
1996年8月,微軟模仿JavaScript開發了一種相近的語言,取名為JScript(JavaScript是Netscape的注冊商標,微軟不能用),首先內置于IE 3.0。Netscape公司面臨喪失瀏覽器腳本語言的主導權的局面。
1996年11月,Netscape公司決定將JavaScript提交給國際標準化組織ECMA(European Computer Manufacturers Association),希望JavaScript能夠成為國際標準,以此抵抗微軟。
1997年7月,ECMA組織發布262號標準文件(ECMA-262)的第一版,規定了瀏覽器腳本語言的標準,并將這種語言稱為ECMAScript。
1998年6月,ECMAScript 2.0版發布。
1999年12月,ECMAScript 3.0版發布,成為JavaScript的通行標準,得到了廣泛支持。
2007年10月,ECMAScript 4.0版草案發布,對3.0版做了大幅升級,預計次年8月發布正式版本。草案發布后,由于4.0版的目標過于激進,各方對于是否通過這個標準,發生了嚴重分歧。以Yahoo、Microsoft、Google為首的大公司,反對JavaScript的大幅升級,主張小幅改動;以JavaScript創造者Brendan Eich為首的Mozilla公司,則堅持當前的草案。
2008年7月,由于對于下一個版本應該包括哪些功能,各方分歧太大,爭論過于激進,ECMA開會決定,中止ECMAScript 4.0的開發(即廢除了這個版本),將其中涉及現有功能改善的一小部分,發布為ECMAScript 3.1,而將其他激進的設想擴大范圍,放入以后的版本,由于會議的氣氛,該版本的項目代號起名為Harmony(和諧)。會后不久,ECMAScript 3.1就改名為ECMAScript 5。
2009年12月,ECMAScript 5.0版正式發布。Harmony項目則一分為二,一些較為可行的設想定名為JavaScript.next繼續開發,后來演變成ECMAScript 6;一些不是很成熟的設想,則被視為JavaScript.next.next,在更遠的將來再考慮推出。TC39的總體考慮是,ECMAScript 5與ECMAScript 3基本保持兼容,較大的語法修正和新功能加入,將由JavaScript.next完成。當時,JavaScript.next指的是ECMAScript 6。第六版發布以后,將指ECMAScript 7。TC39預計,ECMAScript 5會在2013年的年中成為JavaScript開發的主流標準,并在此后五年中一直保持這個位置。
2011年6月,ECMAscript 5.1版發布,并且成為ISO國際標準(ISO/IEC 16262:2011)。到了2012年底,所有主要瀏覽器都支持ECMAScript 5.1版的全部功能。
2013年3月,ECMAScript 6草案凍結,不再添加新功能。新的功能設想將被放到ECMAScript 7。
2013年12月,ECMAScript 6草案發布。然后是12個月的討論期,聽取各方反饋。
2015年6月,ECMAScript 6正式發布。并且更名為“ECMAScript 2015”。
2016年6月,《ECMAScript 2016標準》發布, 又稱ECMAScript 7
2017年,ECMAScript 8正式發布,又稱ECMAScript 2017
總結
從JavaScript語言自身的特性,試用場景,歷史看出來這門語言不簡單,他在一點一點的變好,他慢慢的變成了世界上最好的語言~~~
引入程序員Jeff Atwood一段話。
“所有可以用 JavaScript 編寫的程序,最終都會用JavaScriptlai來編寫。”(Any application that can be written in JavaScript will eventually be written in JavaScript.)