<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] * * * * * # JavaScript的發展歷史 ### JavaScript的誕生 JavaScript因為互聯網而生,緊隨著瀏覽器的出現而問世。回顧它的歷史,就要從瀏覽器的歷史講起。 1990年底,歐洲核能研究組織(CERN)科學家Tim Berners-Lee,在全世界最大的電腦網絡——互聯網的基礎上,發明了萬維網(World Wide Web),從此可以在網上瀏覽網頁文件。最早的網頁只能在操作系統的終端里瀏覽,也就是說只能使用命令行操作,網頁都是在字符窗口中顯示,這當然非常不方便。 1992年底,美國國家超級電腦應用中心(NCSA)開始開發一個獨立的瀏覽器,叫做Mosaic。這是人類歷史上第一個瀏覽器,從此網頁可以在圖形界面的窗口瀏覽。 1994年10月,NCSA的一個主要程序員Marc Andreessen聯合風險投資家Jim Clark,成立了Mosaic通信公司(Mosaic Communications),不久后改名為Netscape。這家公司的方向,就是在Mosaic的基礎上,開發面向普通用戶的新一代的瀏覽器Netscape Navigator。 1994年12月,Navigator發布了1.0版,市場份額一舉超過90%。 Netscape公司很快發現,Navigator瀏覽器需要一種可以嵌入網頁的腳本語言,用來控制瀏覽器行為。當時,網速很慢而且上網費很貴,有些操作不宜在服務器端完成。比如,如果用戶忘記填寫“用戶名”,就點了“發送”按鈕,到服務器再發現這一點就有點太晚了,最好能在用戶發出數據之前,就告訴用戶“請填寫用戶名”。這就需要在網頁中嵌入小程序,讓瀏覽器檢查每一欄是否都填寫了。 管理層對這種瀏覽器腳本語言的設想是:功能不需要太強,語法較為簡單,容易學習和部署。那一年,正逢Sun公司的Java語言問世,市場推廣活動非常成功。Netscape公司決定與Sun公司合作,瀏覽器支持嵌入Java小程序(后來稱為Java applet)。但是,瀏覽器腳本語言是否就選用Java,則存在爭論。后來,還是決定不使用Java,因為網頁小程序不需要Java這么“重”的語法。但是,同時也決定腳本語言的語法要接近Java,并且可以支持Java程序。這些設想直接排除了使用現存語言,比如Perl、Python和TCL。 ![](https://box.kancloud.cn/f431aaed25179a1d817a8be83feb662d_90x113.png)<br/> 1995年,Netscape公司雇傭了程序員Brendan Eich開發這種網頁腳本語言。Brendan Eich有很強的函數式編程背景,希望以Scheme語言(函數式語言鼻祖LISP語言的一種方言)為藍本,實現這種新語言。 1995年5月,Brendan Eich只用了10天,就設計完成了這種語言的第一版。它是一個大雜燴,語法有多個來源: * 基本語法:借鑒C語言和Java語言。 * 數據結構:借鑒Java語言,包括將值分成原始值和對象兩大類。 * 函數的用法:借鑒Scheme語言和Awk語言,將函數當作第一等公民,并引入閉包。 * 原型繼承模型:借鑒Self語言(Smalltalk的一種變種)。 * 正則表達式:借鑒Perl語言。 * 字符串和數組處理:借鑒Python語言。 為了保持簡單,這種腳本語言缺少一些關鍵的功能,比如塊級作用域、模塊、子類型(subtyping)等等,但是可以利用現有功能找出解決辦法。這種功能的不足,直接導致了后來JavaScript的一個顯著特點:對于其他語言,你需要學習語言的各種功能,而對于JavaScript,你常常需要學習各種解決問題的模式。而且由于來源多樣,從一開始就注定,JavaScript的編程風格是函數式編程和面向對象編程的一種混合體。 Netscape公司的這種瀏覽器腳本語言,最初名字叫做Mocha,1995年9月改為LiveScript。12月,Netscape公司與Sun公司(Java語言的發明者和所有者)達成協議,后者允許將這種語言叫做JavaScript。這樣一來,Netscape公司可以借助Java語言的聲勢,而Sun公司則將自己的影響力擴展到了瀏覽器。 之所以起這個名字,并不是因為JavaScript本身與Java語言有多么深的關系(事實上,兩者關系并不深),而是因為Netscape公司已經決定,使用Java語言開發網絡應用程序,JavaScript可以像膠水一樣,將各個部分連接起來。當然,后來的歷史是Java語言的瀏覽器插件失敗了,JavaScript反而發揚光大。 1995年12月4日,Netscape公司與Sun公司聯合發布了JavaScript語言。 1996年3月,Navigator 2.0瀏覽器正式內置了JavaScript腳本語言。 ### JavaScript與Java的關系 JavaScript和Java是兩種不一樣的語言,但是它們之間存在聯系。 JavaScript的基本語法和對象體系,是模仿Java而設計的。但是,JavaScript沒有采用Java的靜態類型。正是因為JavaScript與Java有很大的相似性,所以這門語言才從一開始的LiveScript改名為JavaScript。基本上,JavaScript這個名字的原意是“很像Java的腳本語言”。 在JavaScript語言中,函數是一種獨立的數據類型,以及采用基于原型對象(prototype)的繼承鏈。這是它與Java語法最大的兩點區別。JavaScript語法要比Java自由得多。 另外,Java語言需要編譯,而JavaScript語言則是運行時由解釋器直接執行。 總之,JavaScript的原始設計目標是一種小型的、簡單的動態語言,與Java有足夠的相似性,使得使用者(尤其是Java程序員)可以快速上手。 ### JavaScript的版本 1997年7月,ECMAScript 1.0發布。 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”。這是因為TC39委員會計劃,以后每年發布一個ECMAScirpt的版本,下一個版本在2016年發布,稱為“ECMAScript 2016”。 除了ECMAScript的版本,很長一段時間中,Netscape公司(以及繼承它的Mozilla基金會)在內部依然使用自己的版本號。這導致了JavaScript有自己不同于ECMAScript的版本號。1996年3月,Navigator 2.0內置了JavaScript 1.0。JavaScript 1.1版對應ECMAScript 1.0,但是直到JavaScript 1.4版才完全兼容ECMAScript 1.0。JavaScript 1.5版完全兼容ECMAScript 3.0。目前的JavaScript 1.8版完全兼容ECMAScript 5。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看