• <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++口音,混跡于京師,勉強度日……《史記·corelito列傳》
            posts - 8, comments - 15, trackbacks - 0, articles - 0

            使用V8——Google Chrome 的 JavaScript 引擎(2)

            Posted on 2008-10-19 21:17 sufan 閱讀(2950) 評論(4)  編輯 收藏 引用 所屬分類: 翻譯
            全局模板(Global Template)
            首先,我們需要使用全局模板(Global Template)對我們所作的修改進行控制:

            v8::Handle<v8::ObjectTemplate> global = v8::ObjectTemplate::New();

            該語句創建了一個新的全局模板,這個模板能夠管理我們自己的上下文環境(context)和用戶自定義(customization)。由于在V8中,每個上下文環境都是獨立的,且能夠擁有自己的全局模板,所以這一點顯得很重要。在V8中,一個上下文環境實際上就是一個執行環境,使得許多分開的、相互之間沒有聯系的 JavaScript 應用程序能夠運行在一個V8實例之中。

            添加用戶自定義函數
            接下來,我們可以添加一個名為“plus”的新函數:

            // plus function implementation - Add two numbers
            v8::Handle<v8::Value> Plus(const v8::Arguments& args)

                unsigned 
            int A = args[0]->Uint32Value();
                unsigned 
            int B = args[1]->Uint32Value();
                
            return v8_uint32(A +  B);

            //...
            //associates plus on script to the Plus function
            global->Set(v8::String::New("plus"), v8::FunctionTemplate::New(Plus));

            這個函數需要接受一個 const v8::Argument& 類型的值作為參數,并且要返回一個 v8::Handle<v8::Value>類型的值。我們使用在前面創建的全局模板指針來增加一個函數,并把“plus”和回調函數“Plus”聯系起來。當我們每次在腳本程序中使用“plus”調用函數的時候,實際上調用的是我們在上面定義的“Plus”函數,這個函數功能非常簡單:獲取第一個和第二個參數并返回它們的和。

            好了,現在我們就可以在腳本中使用這個用戶自定義函數了:

            plus(120,44);

            還能這樣使用這個函數的返回值:

            = plus(1,2); 
            if( x == 3){
               
            // do something important here!
            }

            Feedback

            # re: 使用V8——Google Chrome 的 JavaScript 引擎(2)  回復  更多評論   

            2008-10-26 14:47 by 金山詞霸2008
            Google Chrome 的 JavaScript難道還和標準的javascript不一樣?記得javascript已經是標準了。

            # re: 使用V8——Google Chrome 的 JavaScript 引擎(2)  回復  更多評論   

            2008-11-26 11:02 by tJun
            V8 implements ECMAScript as specified in ECMA-262, 3rd edition
            標準是標準,實現是實現。

            # re: 使用V8——Google Chrome 的 JavaScript 引擎(2)  回復  更多評論   

            2008-11-26 11:06 by lola
            恩。v8是JS引擎啦,引擎是啥意思?引擎就是用來執行JS代碼的東東啦。所以,v8是執行JS的東東,不是JS標準。

            # re: 使用V8——Google Chrome 的 JavaScript 引擎(2)  回復  更多評論   

            2010-11-22 13:59 by swn
            請問博主有沒有進一步的研究v8,比如如何擴展一個對象節點,包括其下的方法屬性的擴展呢?
            久久久久久A亚洲欧洲AV冫| 精品熟女少妇AV免费久久| 国产午夜福利精品久久2021| 久久久久久综合一区中文字幕| 久久久精品国产Sm最大网站| 青青草原综合久久大伊人导航| 欧美一区二区三区久久综合| 久久免费99精品国产自在现线 | 久久久久人妻精品一区二区三区| 九九久久精品国产| 国产国产成人精品久久| 伊人久久大香线蕉av不变影院 | 精品国产一区二区三区久久久狼 | 狠狠干狠狠久久| 国产美女久久精品香蕉69| 久久久久久A亚洲欧洲AV冫| 久久香蕉超碰97国产精品| 久久本道久久综合伊人| MM131亚洲国产美女久久| 蜜桃麻豆www久久国产精品| 99久久99这里只有免费的精品| 国产精品久久久香蕉| 久久亚洲sm情趣捆绑调教| 国产亚洲成人久久| 精品久久久久久无码专区不卡| 久久天天躁狠狠躁夜夜avapp | 国产精品久久国产精麻豆99网站 | 久久性生大片免费观看性| 日本免费一区二区久久人人澡 | 亚洲精品国精品久久99热一| 久久久久亚洲av无码专区| 日韩欧美亚洲国产精品字幕久久久| 94久久国产乱子伦精品免费| 国产一区二区三精品久久久无广告| 无码人妻久久一区二区三区免费| 伊人久久成人成综合网222| 亚洲狠狠婷婷综合久久蜜芽 | 久久久一本精品99久久精品66| 亚洲av日韩精品久久久久久a| 色88久久久久高潮综合影院| 久久婷婷五月综合色高清|