JS_NewPropertyIterator

Obsolete since JSAPI 36
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.

Crate an iterator object for use with JS_NextProperty.

Syntax

JSObject *
JS_NewPropertyIterator(JSContext *cx, JS::Handle<JSObject*> obj);
Name Type Description
cx JSContext * The JS context in which to enumerate properties. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.
obj JS::Handle&lt;JSObject*&gt; The object whose properties are to be enumerated.

Description

Create an object to iterate over the enumerable own properties of obj, in arbitrary order. (This differs from longstanding for..in loop order, which uses the order in which obj's properties were defined. Note also that while for..in includes properties inherited from prototypes, iterator objects do not.)

On success, this returns an iterator object that can be passed to JS_NextProperty to fetch the property ids. On error, it returns NULL.

The iterator object created by this function is not a JavaScript Iterator. It is an opaque object with no properties visible from JavaScript.

See Also