JS_GetPrivate 编辑
Access the private data field of an object.
Syntax
void *
JS_GetPrivate(JSObject *obj);
Name | Type | Description |
---|---|---|
obj | JSObject * | An object whose JSClass has the JSCLASS_HAS_PRIVATE flag. |
Description
JS_GetPrivate
accesses an object's private data field. obj
must be an instance of a class that has the JSCLASS_HAS_PRIVATE
flag.
New objects' private data fields are initially NULL
.
If obj
is a Function
object, as reported by JS_ObjectIsFunction
, the private data is a pointer to a JSFunction
. (But consider using JS_ValueToFunction
instead to access it.)
Warning: It is dangerous to call JS_GetPrivate
on a JSObject *
unless the object's JSClass
is known. If the object is not of the expected JSClass
, the result of JS_GetPrivate
would probably be NULL
or a pointer to some unexpected type of data. Casting that pointer to the desired type and using it could then cause a crash or worse.
Getters, setters, and methods of custom classes should use JS_GetInstancePrivate
instead to avoid this danger. However, it is safe to use JS_GetPrivate
in a finalizer
.
See Also
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论