中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript的扶正之路是怎樣的

發布時間:2021-09-30 17:01:38 來源:億速云 閱讀:115 作者:柒染 欄目:web開發

本篇文章給大家分享的是有關JavaScript的扶正之路是怎樣的,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

說到很流行的編程語言,可能要數JavaScript,Java和Python了。但是向上追溯幾年、十年、甚至是20年,在2000年的時候你絕不會相信,如今JavaScript將成為世界上很受歡迎的語言之一。那時候的JavaScript不僅無法完成專業語言所能做到的各個功能,甚至也沒有被設計成一種嚴肅的編碼工具。

概述

1995年,網景通信公司Netscape意識到,需要給瀏覽器一個簡便可用的瀏覽器動態腳本程序以便于Microsoft的IE做市場競爭。于是在結束與Sun  Microsystems戰略合作伙伴的之前,利用最后一段時間,讓Sun的Brendan  Eich在不到10天時間內創造了一個新的語言,并將它嵌入了Netscape 2瀏覽器中。

JavaScript的扶正之路是怎樣的

并且當時為了蹭Java的熱度,他們將該語言叫做JavaScript。但是實際上和Java語言沒有半毛錢的關系。Java和JavaScript這兩個類似的名稱引起了很多人多年的困惑,至今還是個個問題。(JavaScript現在是甲骨文的商標名稱,隨意使用可能會有版權問題。)

第一章 伊始:滾動按鈕時代

在JavaScript誕生的頭五年中,它是不便使用Java  (Applet)編程的人們的一個白板工具。其擁躉包括業余愛好者,以及急于做簡單完成任務的人。還有Web設計師一群新生技術工種,其工作是使網頁用戶界面看起來更加時尚和圖形化。他們想要的東西比標簽更精致,比GIF的旋轉的地球儀更現代。

在專業領域,這是JavaScript的主要工作,創建UI膠水,將過度設計的網頁粘合在一起。當你需要一個交互式按鈕,一個彈出菜單,一個圖像跨過動態效果時,你會用到  JavaScript。

JavaScript的扶正之路是怎樣的

不久之后,JavaScript開始被大量使用于創建類似效果:每當鼠標經過時,就將一個圖像換成另一個。

盡管認為開發人員會使用代碼來自動執行發光按鈕,然后將其代碼分發到網頁上似乎有些瘋狂,但這是每個人都一遍又一遍地做的事情(今天,CSS提供了這種裝飾,它使用樣式設置和動畫而不是預先生成的圖像文件,以更易于維護的方式來做到了這一點。)。很少有人期望JavaScript會走得更遠。而且,許多編碼人員更樂于使用服務器端編程語言,讓它們按需提供正確的JavaScript腳本。  JavaScript可以為應用程序中的業務邏輯提供支持的想法就像用Excel宏替換數據庫存儲過程一樣荒唐。

第二章 限制:沙盒的囚徒

今天,當人們批評JavaScript時,通常是由于其語言本身的局限性:補補修修的面向對象功能,弱類型安全,笨拙的DOM模型,==與===的混淆等等。但JavaScript并非天生就是如此。畢竟,有許多丑陋的編程語言,也都是因為在正確的時間出現正確的領域而變得重要。(比如BASIC,COBOL,SQL和PHP)JavaScript是當時所有Web瀏覽器中唯一支持的語言,伴隨著Web正占領世界的同時,它肯定在正確的時間出現在了正確的位置。

JavaScript的真正限制是沙盒,嚴格控制的環境,可將代碼固定在適當的位置。沙箱將JavaScript與桌面世界隔離開來。例如,JavaScript代碼無法直接訪問文件系統,顯示器或任何硬件。更嚴重的是,它切斷了JavaScript與Web服務器上所有內容的聯系,例如存儲用戶列表和產品目錄的數據庫以及運行業務邏輯的服務器端代碼。JavaScript被迫獨自戰斗的一線,但是也是整日忙忙碌碌而無所事事,只能旋轉Web頁面上的按鈕。

第三章 反叛:Ajax和XMLHttpRequest

然而幸運的是微軟并沒有對JavaScript產生多大的敵意,也在IE中保留了它。并打算以"擁抱,擴展和撲滅"的理念消耗競爭對手。

當時Microsoft的一個團隊正在研究一種使Outlook的Web前端響應速度更快的方法。他們正在構建一個名為Outlook Web  Access的產品,看起來像這樣:

JavaScript的扶正之路是怎樣的

微軟團隊的目標是相對適度的。他們想開發一個在瀏覽器中運行的高效電子郵件閱讀器。最重要的是,他們不想每隔幾秒鐘刷新一次整個頁面。取而代之的是,他們采用的是一種允許網頁在后臺靜默檢查新郵件的技術。這個目標現在看來似乎并沒有啥大不了,但請記住那個年代Gmail還沒有出現呢,谷歌也才剛剛出現,沒有啥名氣。

微軟團隊使用一種被稱為XMLHttpRequest的ActiveX組件創建了一些管道。  XMLHttpRequest的基本思想很簡單:它為JavaScript代碼提供了一種進行Web請求的方法。就像瀏覽器可以聯系網絡服務器并發出請求(例如,"嘿,請給我一個頁面!")一樣,JavaScript代碼也可以使用XMLHttpRequest對象發出自己的請求(例如,"嘿,請再給我發送一些郵件")。

JavaScript的扶正之路是怎樣的

突然之間,潘多拉魔盒被打開了,Web頁面開始可以調用Web服務器的所有資源:

需要數據庫中的一些數據嗎?調用服務器并查詢。

服務器需要執行計算,安全測試,超級機密驗證檢查嗎?也請調用服務器。、最重要的是,在后臺進行調用時,頁面顯示不會受到影響。

但是XMLHttpRequest也有很多問題。首先,它的名稱很奇怪,大小寫不一致,導致區分大小寫的語言(例如JavaScript)很頭痛。

其次,就像它名字表明的一樣請求發送和接收使用XML消息。現實情況是,消息幾乎可以是任何東西,普通文本,HTML塊或序列化為JSON的JavaScript對象。但是比較大的問題當屬的XMLHttpRequest的的支持技術。它是用ActiveX構建的,這樣它只支持在Windows計算機上運行,只能在Internet  Explorer中運行。

這些怪癖都沒有阻止它。在短短的幾年內,其他瀏覽器都提供了自己的XMLHttpRequest實現-代碼中的相同對象,但沒有ActiveX麻煩。

盡管微軟創建了XMLHttpRequest,但是并沒有在自己的Web開發得到充分利用它。甚至在,他們后續的公共Web的電子郵件系統Hotmail中也沒有使用。

相反,是谷歌首先利用XMLHttpRequest技術開發出了讓世界震驚的Web產品。谷歌首先在2004年使用開發了公共Web郵箱Gmail;

JavaScript的扶正之路是怎樣的

接著,次年又開發出了Google Maps。

JavaScript的扶正之路是怎樣的

這兩個偉大的產品開始讓XMLHttpRequest和Ajax技術大放異彩而流行于世。

第四章 扶正:通往現代的道路

XMLHttpRequest是改變JavaScript進程的關鍵要素。但是,此后還有很多拐點。

多年以來,JavaScript語言一直處于凍結狀態。市場領先的IE瀏覽器要伴隨著操作系統升級而升級,版本迭代非常緩慢。開發人員被迫要編寫大量的腳本檢查不同IE瀏覽器版本來進行適配。

JavaScript的扶正之路是怎樣的

在2006年,開發人員通過使用jQuery框架,獲得了形式上的統一解決方案。盡管jQuery在今天已經過時了,但是10年前,如果把真正的時間用在構建功能而非解決瀏覽器兼容性的問題上時,這是必不可少的工具。

JavaScript的扶正之路是怎樣的

谷歌在2008年發布了一個名為V8的新JavaScript引擎。

JavaScript的扶正之路是怎樣的

如果說jQuery的出現為Web開發人員提供了廣泛的兼容性,而V8則為他們提供了出色的性能。而且由于V8引擎是一個單獨的開源組件,因此其他項目也可以使用它。后來,因此,而衍生了諸如Node.js和Electron之類偉大項目。

JavaScript的扶正之路是怎樣的

2008年下半年,W3C推出第一個HTML5的工作草案。HTML5本身并不是關于JavaScript的,而是與一波新的JavaScript  API配對使用的。突然之間,開發人員有了用于存儲本地數據,管理瀏覽器歷史記錄,使用音頻和運行后臺任務的工具。網絡功能和桌面功能之間的差距再次縮小。

JavaScript的扶正之路是怎樣的

第五章 涅槃:現代的JavaScript

JavaScript的成功是否是其在瀏覽器中享有特權的必然結果?還是需要運氣和完美時機?

我覺得很多是為了兼顧和均衡。根據經濟學定理,為了防止一家獨大,各大公司之間互相讓利權衡后的結果。

結果是JavaScript被迫贏得了成功。在JavaScript的一生中,從來沒有很多人喜歡。剛開始大家支持Java  applet,接著是Flash,還有微軟版的Silverlight。JavaScript面對了這些挑戰者,并(被)擊敗了所有他們。

JavaScript的未來是一條迅速分支的道路。現在JavaScript有在Web服務端運行的(Node.js),也有桌面應用程序(Node.js和Electron)。也有了諸如TypeScript的更高級先進方言,它們可以編譯為JavaScript,從而為開發人員提供了一種在不違反規范的前提下舒適開發的方法。將來借助WebAssembly可能還會完全擺脫語言限制,為開發人員提供一種通過JavaScript引擎來使用他們想要的任何高級語言的方法。

JavaScript盡管有很多不是之處,但是他確實天(各大經濟巨頭)選之子。Brendan Eich將JavaScript放入Netscape  Navigator中,而我們正想法設法整個世界裝入瀏覽器。這就是現代的Web,以及將來物聯網。

以上就是JavaScript的扶正之路是怎樣的,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

和田县| 原平市| 金华市| 新乡县| 增城市| 将乐县| 磐安县| 临潭县| 吉木乃县| 马关县| 泰安市| 长岭县| 丹东市| 安塞县| 林西县| 老河口市| 景谷| 达拉特旗| 新龙县| 白朗县| 综艺| 嫩江县| 确山县| 肥城市| 新野县| 开封市| 邹城市| 大英县| 封丘县| 朔州市| 武安市| 永平县| 潜江市| 宝坻区| 个旧市| 安丘市| 镇赉县| 蓝田县| 筠连县| 巴彦淖尔市| 来宾市|