2011-07-18 79 views
0

我希望能夠訪問回調的Arguments& args。現在,當我設置C++函數從JavaScript端稱爲它看起來像這樣:在JavaScript V8回調中訪問'參數'

global->Set(String::New("login"), FunctionTemplate::New(Login)); 

以及C++函數的原型是:

Handle<Value> MyClass::Login(const Arguments& args) 

我如何進入這個Arguments& args所以當回調發生時我可以傳入一個變量?謝謝您的幫助。

回答

1

v8::Arguments::Length()將返回從JavaScript傳遞的參數的數量。使用數組下標對v8::Arguments&變量進行訪問。

for (int32_t index = 0; index < arguments->Length(); ++index) { 
    if (arguments[index]->IsString()) { 
    ::printf("%s\n", *v8::String::Utf8Value(arguments[index]->ToString())); 
    } 
} 

您將在http://izs.me/v8-docs/classv8_1_1Arguments.html找到v8::Arguments文檔的在線版本,但我並沒有保證,它是當前或將保持聯機。

從V8源代碼樹頂部運行以下命令將使用Doxygen在本地生成文檔。

$ cd include && doxygen -g && doxygen 

如果Doxygen成功執行,您可以訪問include/html/index.html中的文檔。