JS_HasProperty 编辑

Determine whether a JavaScript object has a specified property.

Syntax

bool
JS_HasProperty(JSContext *cx, JS::HandleObject obj, const char *name,
               bool *foundp);

bool
JS_HasUCProperty(JSContext *cx, JS::HandleObject obj,
                 const char16_t *name, size_t namelen,
                 bool *vp);

bool
JS_HasPropertyById(JSContext *cx, JS::HandleObject obj, JS::HandleId id,
                   bool *foundp); // Added in SpiderMonkey 1.8.1
NameTypeDescription
cxJSContext *A context. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.
objJS::HandleObjectObject to search on for the property.
name or idconst char * or const char16_t or JS::HandleIdName of the property to look up.
namelensize_t(only in JS_HasUCProperty) The length of name in characters, or -1 to indicate that name is null-terminated.
foundpbool *Non-null pointer to a variable of type bool. On success, JS_HasProperty stores true in this variable if obj has a property with the given name, and false if not.

Description

JS_HasProperty searches an object, obj, and its prototype chain, for a property with the specified name. It behaves like the JavaScript expression name in obj. JS_HasUCProperty is the corresponding Unicode API. JS_HasPropertyById is the same but takes a JS::HandleId for the property name.

If the property exists, this function sets *foundp to true and returns true.

If the object obj has no such property, the function sets *foundp to false and returns true (to indicate that no error occurred).

If an error occurs during the search, the function returns false, and the value of *foundp is undefined.

See Also

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

词条统计

浏览:114 次

字数:4016

最后编辑:8年前

编辑次数:0 次

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