JS::Call

This article covers features introduced in SpiderMonkey 17

Call a specified JS function.

Syntax

bool
JS::Call(JSContext *cx, JS::HandleObject thisObj, JS::HandleFunction fun,
         const JS::HandleValueArray &args, JS::MutableHandleValue rval);

bool
JS::Call(JSContext *cx, JS::HandleObject thisObj, const char *name,
         const JS::HandleValueArray& args, JS::MutableHandleValue rval);

bool
JS::Call(JSContext *cx, JS::HandleObject thisObj, JS::HandleValue fun,
         const JS::HandleValueArray& args, JS::MutableHandleValue rval);

bool
JS::Call(JSContext *cx, JS::HandleValue thisv, JS::HandleValue fun,
         const JS::HandleValueArray& args, JS::MutableHandleValue rval);

bool
JS::Call(JSContext *cx, JS::HandleValue thisv, JS::HandleObject funObj,
         const JS::HandleValueArray& args, JS::MutableHandleValue rval);
Name Type Description
cx JSContext * Pointer to a JS context from which to derive runtime information. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.
thisObj JS::HandleObject / JS::HandleValue The "current" object on which the function operates; the object specified here is "this" when the function executes.
fun / funObj JS::HandleFunction / JS::HandleValue / JS::HandleObject Pointer to the function to call. Should be a native function or JSAPI-compiled function.
name const char * Pointer to the function name to call.
args JS::HandleValueArray & Arguments to pass to the function.
rval JS::MutableHandleValue Out parameter. On success, *rval receives the return value from the function call.

Description

JS::Call calls a specified function, fun, on an object, thisObj. In terms of function execution, the object is treated as this.

For more detail, see JS_CallFunction, JS_CallFunctionName, and JS_CallFunctionValue.

See Also