<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] # 第二章 為什么選擇JavaScript? 那里有很多編程語言。為什么要使用JavaScript?本章討論了七個方面,當您選擇一種編程語言時,這些方面很重要,并認為JavaScript整體性很好: 1. 是免費提供嗎? 2. 它是一種優雅的編程語言嗎? 3. 在實踐中有用嗎? 4. 它是否具有良好的工具,特別是良好的集成開發環境(IDE)? 5. 它是否足夠快你想做什么? 6. 是否廣泛使用? 7. 它有未來嗎? ## JavaScript自由可用嗎 JavaScript 可以說是最開放的編程語言:ECMA-262,其規范是ISO標準。該規范緊隨其后的是獨立方的許多實施。其中一些實現是開源的。此外,語言的演變由TC39處理,TC39由所有主要瀏覽器廠商在內的幾家公司組成。這些公司中的許多公司通常是競爭對手,但是他們為了這個語言的利益而共同合作。 ## JavaScript優雅嗎 可以說優雅,也不優雅。我用不同范例的幾種編程語言編寫了相當數量的代碼。因此,我很清楚JavaScript不是優雅的頂峰。然而,它是一種非常靈活的語言,具有相當優雅的核心,使您能夠使用面向對象編程和功能編程的混合體。 JavaScript引擎之間的語言兼容性曾經是一個問題,但現在不存在了,部分歸功于[est262 suite](https://github.com/tc39/test262),它檢查引擎是否符合ECMAScript規范。相比之下,瀏覽器和DOM的差異仍然是一個挑戰。這就是為什么通常最好依靠框架來隱藏這些差異。 ## JavaScript有用嗎 世界上最美麗的編程語言是無用的,除非它允許您編寫所需的程序。 ### 圖形用戶界面 在圖形用戶界面方面,JavaScript將成為HTML5的一部分。在本節中,我將HTML5用于“瀏覽器平臺”(HTML,CSS和瀏覽器JavaScript API)。HTML5廣泛部署,不斷進步。它正在慢慢成為編寫全功能跨平臺應用程序的完整層; 類似于Java平臺,它幾乎像一個嵌入式操作系統。HTML5的一個賣點是它可以讓您編寫跨平臺的圖形用戶界面。這些都是妥協的:你放棄一些質量來換取不限于一個操作系統。過去,“跨平臺”意味著Windows,Mac OS或Linux。 但現在我們有了兩個額外的互動平臺:網絡和移動平臺。有了HTML5,你可以通過[Cordova](http://cordova.apache.org/)、[Chrome Apps](http://developer.chrome.com/apps/)和[TideSDK](http://www.tidesdk.org/)等技術來實現所有這些平臺的目標。 另外,有幾個平臺將網絡應用程序作為本機應用程序,或者您可以自己安裝它們,例如Chrome操作系統,Firefox操作系統和Android。 ### 其他技術補充JavaScript 除了HTML5,還有更多的技術可以補充JavaScript,使語言更有用: **JS庫** JavaScript有豐富的庫,使您能夠完成從解析JavaScript(通過[Esprima](http://esprima.org/))到處理和顯示PDF文件(通過[PDF.js](https://github.com/mozilla/pdf.js))的任務。 **Node.js** Node.js 平臺允許您編寫服務器端代碼和shell腳本(構建工具,測試運行程序等)。 **JSON**(JavaScript對象表示法,在第22章中介紹) JSON 是一種以JavaScript為基礎的數據格式,已經變得流行在Web上交換數據(例如,Web服務的結果)。 **NoSQL數據庫**(如[CouchDB](http://couchdb.apache.org/)和[MongoDB](http://www.mongodb.org/)) 這些數據庫緊密地集成了JSON和JavaScript。 ## JavaScript有好的工具嗎? JavaScript越來越好的構建工具(例如,[Gulp](http://gulpjs.com/))和測試工具(例如[mocha](http://visionmedia.github.io/mocha/))。Node.js可以通過一個shell(而不僅僅是瀏覽器)來運行這些工具。這個領域的一個風險是碎片化,隨著我們越來越多地使用這些工具。 JavaScript IDE空間仍然是新興的,但它的快速成長。網絡開發的復雜性和活力使得這個空間成為創新的肥沃土地。兩個開源示例是[ Brackets](http://brackets.io/)和[Light Table](http://www.lighttable.com/)。 此外,瀏覽器正變得越來越有能力開發環境。特別是Chrome,最近取得了令人矚目的進展。未來將集成更多的ide和瀏覽器,這將是一件很有趣的事情。 ## JavaScript足夠快嗎? JavaScript引擎已經取得了巨大的進步,從緩慢的口譯員演變成了快速即時編譯器。它們現在對于大多數應用來說足夠快。此外,新的想法已經在開發中,可以使JavaScript足夠快地用于其余的應用程序: [asm.js](http://asmjs.org/)是一個(非常靜態)的JavaScript子集,在當前引擎上運行速度很快,與編譯的C ++一樣快。例如,它可以用于實現Web應用程序的性能關鍵算法部分。它也被用于將基于C ++的游戲移植到Web平臺。 [ParallelJS](http://www.2ality.com/2013/12/paralleljs.html)并行化使用新陣列方法的JavaScript代碼mapPar,filterPar和reducePar(現有陣列方法可并行化版本map,filter和reduce)。為了使并行化工作,回調必須以特殊樣式寫入; 主要的限制是您不能突變在回調中未創建的數據。 ## JavaScript使用廣泛嗎? 廣泛使用的語言通常有兩個好處。首先,這種語言更好地記錄和支持。第二,更多的程序員知道這一點,當您需要雇用某人或正在尋找基于該語言的工具的客戶時,這很重要。 JavaScript被廣泛使用并且獲得了上述兩個優點: * 這些天,JavaScript的文檔和支持都有各種形式和大小:書籍,播客,博客文章,電子郵件通訊,論壇等。[第33章](http://speakingjs.com/es5/ch33.html)指出重要的資源。 * JavaScript開發人員的需求很大,但他們的隊伍也在不斷增加。 ## JavaScript有未來嗎? 幾件事情表明JavaScript有一個光明的未來: * 語言正在穩步發展; ECMAScript 6看起來不錯。 * 有很多與JavaScript相關的創新(例如,上述asm.js和ParallelJS,Microsoft的TypeScript等)。 * JavaScript的一個組成部分的Web平臺正在快速成熟。 * JavaScript由廣泛的公司聯盟支持 - 沒有一個人或公司控制它。 ## 結論 考慮到上面列出了什么使語言具有吸引力,JavaScript正在做得非常好。這當然不是完美的,但是現在很難打敗,事情只會越來越好。
                  <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>

                              哎呀哎呀视频在线观看