Node.js V8引擎中Function::Call的第一个参数是什么意思?
在节点加载项示例中,读取: 这表明:Node.js V8引擎中Function::Call的第一个参数是什么意思?,node.js,v8,Node.js,V8,在节点加载项示例中,读取: 这表明: V8EXPORT Local<Value> v8::Function::Call(Handle<Object> recv, int argc, Handle<Value> argv[] ); V8EXPORT Local v8::Function::Call(Handle recv, int argc, 句柄argv[] ); 因此Context::GetCurrent()->Global()用作句柄r
V8EXPORT Local<Value> v8::Function::Call(Handle<Object> recv,
int argc,
Handle<Value> argv[]
);
V8EXPORT Local v8::Function::Call(Handle recv,
int argc,
句柄argv[]
);
因此Context::GetCurrent()->Global()
用作句柄recv
但是,
recv
代表什么?这是什么意思?为什么在这种情况下使用Context::GetCurrent()->Global()
是合适的呢?这与JS中的apply
相同。在JS中,您需要
var context = ...;
cb.apply(context, [ ...args...]);
当第一个参数变为函数范围内的this
时传递的对象。有关的更多文档。如果你不太了解JS,你可以在这里阅读更多关于JS的this
:
var context = ...;
cb.apply(context, [ ...args...]);