MDN’s new design is in Beta! A sneak peek:

JS ContextIterator

Cycles through the JS contexts associated with a particular JSRuntime.


JSContext * JS_ContextIterator(JSRuntime *rt, JSContext **iterp);
Name Type Description
rt JSRuntime * The runtime to walk.
iterp JSContext ** In-out parameter. On input, *iterp must be NULL or point to a context in rt. On success, the value of *iterp is modified so that repeated calls cycle through all the contexts in rt.


JS_ContextIterator steps through the set of contexts associated with the runtime rt. Each call to JS_ContextIterator returns the next context in the cycle.

iterp must point to a variable of type JSContext *. If *iterp is NULL, JS_ContextIterator modifies it to point to the first JSContext in the list. Otherwise *iterp must point to an existing context in rt, and JS_ContextIterator modifies it to point to the next context in the list, if any, and NULL otherwise.

JS_ContextIterator returns the new value of *iterp.


The following code snippet illustrates how to cycle through the contexts for a given runtime:

JSContext *acx;
JSContext *iterp = NULL;
int i = 0;

while ((acx = JS_ContextIterator(rt, &iterp)) != NULL) {
    printf("%d ", ++i);

MXR ID Search for JS_ContextIterator

Document Tags and Contributors

 Last updated by: Jorend,