JavaScript的卑微起步始于 1995 年,是由當(dāng)時(shí)在 Netscape 通信公司工作的 Brendan Eich在短短10天內(nèi)創(chuàng)建的。從那時(shí)起,JavaScript 已經(jīng)走過(guò)了漫長(zhǎng)的道路,從一個(gè)讓網(wǎng)站變得漂亮的工具變成了一種嚴(yán)肅的編程語(yǔ)言。
在其早期,JavaScript 被認(rèn)為是一種視覺(jué)工具,它使網(wǎng)站變得更有趣和更有吸引力。像 Jakarta Server Pages(即 JSP,以前稱作 JavaServer Pages)這樣的語(yǔ)言曾經(jīng)用來(lái)完成渲染網(wǎng)頁(yè)的繁重工作,而 JavaScript 則被用來(lái)創(chuàng)建基本的交互、視覺(jué)增強(qiáng)和動(dòng)畫。
長(zhǎng)期以來(lái),HTML、CSS 和 JavaScript 之間的分界并不明確。前端開(kāi)發(fā)主要由 HTML、CSS 和 JavaScript 組成,形成了標(biāo)準(zhǔn) Web 技術(shù)的“多層蛋糕”。
標(biāo)準(zhǔn)網(wǎng)絡(luò)技術(shù)的“多層蛋糕”(Mozilla 開(kāi)發(fā)者網(wǎng)絡(luò),CC BY-SA 4.0)
HTML 和 CSS 為內(nèi)容提供結(jié)構(gòu)、格式和樣式。一旦網(wǎng)頁(yè)要做一些超越了顯示靜態(tài)內(nèi)容的事情,就是 JavaScript 的用武之地。Ecma 國(guó)際部開(kāi)發(fā)了 JavaScript 規(guī)范,萬(wàn)維網(wǎng)聯(lián)盟World Wide Web Consortium(W3C)開(kāi)發(fā)了 HTML 和 CSS 規(guī)范。
JavaScript是如何獲得突出地位的
JavaScript 是如何成為最受歡迎的編程語(yǔ)言的,背后有一段漫長(zhǎng)的歷史。早在 20 世紀(jì) 90 年代,Java 是王者,不可避免的人們會(huì)與它進(jìn)行比較。許多工程師認(rèn)為 JavaScript 不是一門好的編程語(yǔ)言,因?yàn)樗狈?duì)面向?qū)ο缶幊痰闹С帧?/p>
盡管當(dāng)時(shí)并不明顯,但其實(shí) JavaScript 的對(duì)象模型和功能特性在其第一個(gè)版本中就已經(jīng)出現(xiàn)了。
1995 年 JavaScript 匆匆發(fā)布后,網(wǎng)景公司將其提交給了歐洲計(jì)算機(jī)制造商協(xié)會(huì)European Computer Manufacturers Association(ECMA)國(guó)際部進(jìn)行標(biāo)準(zhǔn)化。由此產(chǎn)生了 ECMAScript,這是一個(gè) JavaScript 標(biāo)準(zhǔn),旨在確保不同 Web 瀏覽器之間網(wǎng)頁(yè)的互操作性。ECMAScript 1 于 1997 年 6 月問(wèn)世,幫助推進(jìn)了 JavaScript 的標(biāo)準(zhǔn)化。
在此期間,PHP 和 JSP 成為了服務(wù)器端編程語(yǔ)言的流行選擇。JSP 作為通用網(wǎng)關(guān)接口Common Gateway Interface(CGI)的首選替代方案獲得了突出的地位,因?yàn)樗梢栽?HTML 中嵌入 Java 代碼。雖然它很受歡迎,但開(kāi)發(fā)人員發(fā)現(xiàn)將 Java 嵌入 HTML 中是不自然的。
此外,即使是 HTML 上最簡(jiǎn)單的文本變化,JSP 也必須經(jīng)歷一個(gè)耗時(shí)的生命周期。在今天的微服務(wù)世界里,面向 JSP 的頁(yè)面被認(rèn)為是技術(shù)債務(wù)。
PHP 的工作原理與 JSP 類似,但 PHP 代碼以一個(gè)通用網(wǎng)關(guān)接口(CGI)的可執(zhí)行文件來(lái)處理?;?PHP 的 Web 應(yīng)用比基于 JSP 的應(yīng)用更容易部署??偟膩?lái)說(shuō),使用 PHP 更容易上手和運(yùn)行。
今天,PHP 和 JavaScript 是創(chuàng)建動(dòng)態(tài)網(wǎng)站最流行的組合之一:PHP 作為服務(wù)器端腳本,JavaScript 作為客戶端腳本。
伴隨著 2006 年 jQuery 的發(fā)布,JavaScript 的應(yīng)用越來(lái)越多。jQuery 是一個(gè)多用途的 JavaScript 庫(kù),簡(jiǎn)化了繁瑣的文檔對(duì)象模型Document Object Model(DOM)管理、事件處理和 Ajax。
2009 年 Node.js 的發(fā)布是 JavaScript 發(fā)展的轉(zhuǎn)折點(diǎn)。開(kāi)發(fā)者現(xiàn)在可以用 JavaScript 編寫服務(wù)器端腳本了。緊隨其后的是 2010 年發(fā)布的 Backbone.js 和 AngularJS 等框架。這導(dǎo)致了出現(xiàn)了使用單一語(yǔ)言進(jìn)行全棧開(kāi)發(fā)的概念。
2015 年,Ecma 國(guó)際部發(fā)布了 ECMAScript 6(ES6),它為編寫復(fù)雜的應(yīng)用程序增加了包括類聲明在內(nèi)的重要新語(yǔ)法。其他新特性還包括迭代器、箭頭函數(shù)表達(dá)式、let 和 const 關(guān)鍵字、類型化數(shù)組、新的集合(映射、集合和 WeakMap)、Promise、字符串的模板字元以及許多其它很酷的特性。后來(lái)的版本又繼續(xù)增加了更多的功能,使 JavaScript 更加強(qiáng)大、精簡(jiǎn)和可靠。
總結(jié)
在過(guò)去的 20 年里,JavaScript 有了長(zhǎng)足的進(jìn)步?,F(xiàn)在大多數(shù)瀏覽器都在爭(zhēng)相滿足合規(guī)性,因此最新的規(guī)范推出得更快。
根據(jù)你的項(xiàng)目需求,有大量穩(wěn)定的 JavaScript 框架可供選擇,包括最流行的 React、Angular 和 Vue.js 等等。在本系列的下一篇文章中,我將深入探討為什么 JavaScript 如此受歡迎。
責(zé)任編輯:pj
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9262瀏覽量
85768 -
JAVA
+關(guān)注
關(guān)注
19文章
2973瀏覽量
104913 -
編程語(yǔ)言
+關(guān)注
關(guān)注
10文章
1949瀏覽量
34853
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論