在V8中定义常规访问器回调

时间:2013-01-08 08:38:47

标签: c++ v8

我正在整合V8,我希望每次访问对象的任何属性时都会收到通知。 我知道如何使用SetAccessor方法为单个属性定义访问器:

void v8::ObjectTemplate::SetAccessor    (   Handle< String >    name,
    AccessorGetter      getter,
    AccessorSetter      setter = 0,
    Handle< Value >     data = Handle< Value >(),
    AccessControl   settings = DEFAULT,
    PropertyAttribute   attribute = None     
)   

我想知道是否也可以在v8中定义一个通用访问器,每次访问对象的任何属性时都会调用该访问器? 类似于前面提到的SetAccessor但没有name参数。

由于

1 个答案:

答案 0 :(得分:1)

您要查找的方法在v8::ObjectTemplate类上称为SetNamedPropertyHandler。您可以通过这种方式捕获和拦截(甚至阻止创建)对象上的任何属性。