访问JavaScript V8回调中的“参数”

时间:2011-07-18 22:51:54

标签: javascript c++ v8

我希望能够访问回调的Arguments& args。现在当我设置从JavaScript端调用C ++函数时,它看起来像这样:

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

C ++函数的原型是:

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

如何访问此Arguments& args以便在回调发生时传入变量?谢谢你的帮助。

1 个答案:

答案 0 :(得分: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中的文档。