我是 V8 的新手,并试图在我的 C++ 和 JS 代码之间创建一些绑定。问题是我无法跨不同的 Javascript 函数访问全局 Javascript 变量。原因是因为每个 Javascript 函数都被称为我不同的 C++ 函数。我想我的代码的问题是我在每个 C++ 函数中创建了一个新的本地上下文。
我的 JS 代码:
var test = [];
function f1()
{
var obj = {};
obj.name = "Testing";
test.push(obj);
}
function f2()
{
var value = test[0].name;
}
Run Code Online (Sandbox Code Playgroud)
我的 C++ 代码:
class Test
{
v8::Persistent<v8::Script> compiledScript;
v8::Local<v8::Value> result;
v8::Isolate* isolate;
v8::Persistent<v8::Context> context;
Test(filePath) {
// Create and allocate isolate
v8::Locker isolateLocker(isolate);
v8::Isolate::Scope isolate_scope(isolate);
v8::HandleScope handle_scope(isolate);
// Create some bindings
v8::Local<v8::Context> con = …Run Code Online (Sandbox Code Playgroud)