• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            C小加

            厚德 博學 求真 至善 The bright moon and breeze
            posts - 145, comments - 195, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            重新認識JavaScript

            Posted on 2013-07-30 12:19 C小加 閱讀(2607) 評論(0)  編輯 收藏 引用 所屬分類: JavaScript
               JavaScrpit在我眼中一直是web前端腳本語言,而這段時間的一些工作,讓我對JavaScript有了一個全新的認識。

               公司準備啟動的一個手游項目,服務器端準備使用網易的開源框架pomelo。pomelo是基于Node.js的高性能,分布式游戲服務器框架。它包括基礎的開發框架和相關的擴展組件(庫和工具包),可以幫助你省去游戲開發枯燥中的重復勞動和底層邏輯的開發。 pomelo不但適用于游戲服務器開發, 也可用于開發高實時web應用,它的分布式架構可以使pomelo比普通的實時web框架擴展性更好。

               網易的架構師們選擇了node.js作為服務器端架構的核心,說明了Node.js作為后端的Javascript運行環境一定有它自己的優越性。

               提到Javascript,大家首先想到的是日常使用的瀏覽器,現代瀏覽器包含了各種組件,包括渲染引擎、Javascript引擎等,其中Javascript引擎負責解釋執行網頁中的Javascript代碼。作為Web前端最重要的語言之一,Javascript一直是前端工程師的專利。不過,Node.js是一個后端的Javascript運行環境(支持的系統包括Lnux、Windows、Mac),這意味著你可以編寫系統級或者服務器端的Javascript代碼,交給Node.js來解釋執行。

               Node.js支持的語言是JavaScrpit,之所以選擇JavaScrpit作為服務器端運行語言理由如下:

               1.Javascript作為前端工程師的主力語言,在技術社區中有相當的號召力。而且,隨著Web技術的不斷發展,特別是前端的重要性增加,不少前端工程師開始試水”后臺應用“,在許多采用Node.js的企業中,工程師都表示因為習慣了Javascript,所以選擇Node.js。

               2.Javascript的匿名函數和閉包特性非常適合事件驅動、異步編程,從helloworld例子中我們可以看到回調函數采用了匿名函數的形式來實現,很方便。閉包的作用則更大,看下面的代碼示例:

            var hostRequest = http.request(requestOptions,function(response) {
                var responseHTML ='';
                response.on('data', function (chunk) {
                    responseHTML = responseHTML + chunk;
                });
                response.on('end',function(){
                    console.log(responseHTML);
                    // do something useful
               });
            });
               在上面的代碼中,我們需要在end事件中處理responseHTML變量,由于Javascript的閉包特性,我們可以在兩個回調函數之外定義responseHTML變量,然后在data事件對應的回調函數中不斷修改其值,并最終在end事件中訪問處理。

               3.Javascript在動態語言中性能較好,有開發人員對Javacript、Python、Ruby等動態語言做了性能分析,發現Javascript的性能要好于其他語言,再加上V8引擎也是同類的佼佼者,所以Node.js的性能也受益其中。

               JavaScript不僅在服務器端開始流行,在游戲客戶端編程方面也成為了一個很重要的選擇。就在不久前,目前非常流行的一個手游引擎cocos2d-x也推出了JavaScript版本。引用創始人王哲的一句話,如果說C++最靠譜的話,那么Lua應該算是最流行,而Javascript是最有前景。
            日本五月天婷久久网站| 国产亚洲美女精品久久久| 亚洲国产精品高清久久久 | 久久精品国产亚洲AV无码娇色| 国内精品久久久久影院日本 | 色综合久久夜色精品国产| 亚洲国产小视频精品久久久三级| 无码任你躁久久久久久老妇App| 久久棈精品久久久久久噜噜| 亚洲乱亚洲乱淫久久| 亚洲人成网站999久久久综合 | 久久精品国产亚洲av日韩| 国产精品成人精品久久久| 2021最新久久久视精品爱| 日本免费一区二区久久人人澡| 色综合久久夜色精品国产| 久久香蕉国产线看观看99| 伊人久久精品无码av一区| 久久精品国产WWW456C0M| 国产精品免费看久久久| 久久频这里精品99香蕉久| 久久亚洲精品中文字幕三区| 久久天天躁狠狠躁夜夜2020一 | 亚洲精品乱码久久久久久中文字幕| 国产精品美女久久久久av爽| 色婷婷综合久久久久中文| 日韩美女18网站久久精品| 色综合久久天天综合| 无码精品久久久天天影视| 日本WV一本一道久久香蕉| 欧美久久综合九色综合| 国产精品成人久久久久三级午夜电影| 亚洲国产精品成人久久| 亚洲精品乱码久久久久久自慰| 思思久久99热只有频精品66| 久久亚洲精品无码观看不卡| 国产综合成人久久大片91| 精品一久久香蕉国产线看播放| 久久精品国产一区| 狠狠色噜噜狠狠狠狠狠色综合久久| 久久精品蜜芽亚洲国产AV|