我希望能够访问回调的 Arguments& args
。现在,当我将 C++ 函数设置为从 JavaScript 端调用时,它看起来像这样:
global->Set(String::New("login"), FunctionTemplate::New(Login));
C++函数的原型(prototype)是:
Handle<Value> MyClass::Login(const Arguments& args)
如何访问此 Arguments& args
以便在回调发生时传入变量?感谢您的帮助。
最佳答案
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
中的文档。
关于javascript - 在 JavaScript V8 回调中访问 'Arguments',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6740353/