Какова реализация по умолчанию JSObjectGetPropertyCallback?
Я строю JSObjectRef со статическими функциями и переменными свойств, но я обнаружил, что если я определю класс следующим образом:
static JSStaticFunction myStaticFunctions[] = {
{ "myStFunc", JSAction::jsMyStFunc, kJSPropertyAttributeNone },
{ 0, 0, 0 }
};
JSClassDefinition classDef = kJSClassDefinitionEmpty;
classDef.staticFunctions = myStaticFunctions;
classDef.getProperty = jsPropertyGet;
jsclass = JSClassCreate(&classDef);
proto = JSObjectMake(cx, jsclass, NULL);
И когда я вызываю статическую функцию (myStFunc) в javascript, также вызывается обратный вызов getProperty (jsPropertyGet), но я не знаю, как вернуть действие по умолчанию.
1 ответ
Решение
Хорошо, я понял.
для JSObjectGetPropertyCallback, возврат NULL
получит запрос на его статические свойства, затем цепочку родительских классов и цепочку прототипов.
для JSObjectSetPropertyCallback, возврат false
если вы не хотите обрабатывать это самостоятельно.