V8引擎中的Function :: Call的第一个参数是什么意思?

在node-addon-example中, 3_callbacks/addon.cc第11行3_callbacks/addon.cc如下:

 cb->Call(Context::GetCurrent()->Global(), argc, argv); 

V8的文档显示:

 V8EXPORT Local<Value> v8::Function::Call(Handle<Object> recv, int argc, Handle<Value> argv[] ); 

所以Context::GetCurrent()->Global()被用作Handle<Object> recv

但是recv代表什么呢? 这是什么意思? 为什么在这种情况下使用Context::GetCurrent()->Global()是合适的?

这在JS中是一样的。 在JS中,你呢

 var context = ...; cb.apply(context, [ ...args...]); 

作为第一个parameter passing的对象在函数范围内变成了this 。 有关MDN更多文档。 如果你不了解JS,可以在这里阅读更多关于JS的内容: http : //unschooled.org/2012/03/understanding-javascript-this/