JS_GetPrivate 编辑

Access the private data field of an object.

Syntax

void *
JS_GetPrivate(JSObject *obj);
NameTypeDescription
objJSObject *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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:60 次

字数:4122

最后编辑:8年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文