JSObjectOps.lookupProperty 编辑
Obsolete since JavaScript 1.8.5
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.
Warning! JSObjectOps
is not a supported API. Details of the API may change from one release to the next. This documentation should be considered SpiderMonkey internals documentation, not API documentation. See bug 408416 for details.
The JSObjectOps.lookupProperty
callback is called for every property access (except when a higher-level callback, such as JSObjectOps.getProperty
, is overloaded in a way that does not call lookupProperty
).
Syntax
typedef JSBool (*JSLookupPropOp)(JSContext *cx, JSObject *obj, jsid id,
JSObject **objp, JSProperty **propp);
Name | Type | Description |
---|---|---|
cx | JSContext * | Pointer to the JS context in which the property lookup is happening. |
obj | JSObject * | The object whose properties are being searched. |
id | jsid | The name or index of the property to look up. |
objp | JSObject ** | Out parameter. If the property is found, the callback stores the object on which the property was found in *objp . |
propp | JSProperty ** | Out parameter. On success, the callback stores in *propp a pointer to the property, if it exists, or NULL if it doesn't. |
Description
Look for id
in obj
and its prototype chain, returning JS_FALSE
on error or exception, JS_TRUE
on success. On success, return null in *propp
if id
was not found. If id
was found, return the first object searching from obj
along its prototype chain in which id
names a direct property in *objp
, and return a non-null, opaque property pointer in *propp
.
If JSLookupPropOp
succeeds and returns with *propp
non-null, that pointer may be passed as the prop
parameter to a JSAttributesOp
, as a short-cut that bypasses id
re-lookup. In any case, a non-null *propp
result after a successful lookup must be dropped via JSObjectOps.dropProperty
.
Note: A successful return with non-null *propp
means the implementation may have locked *objp
and added a reference count associated with *propp
, so callers should not risk deadlock by nesting or interleaving other lookups or any obj-bearing ops before dropping *propp
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论