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_THREADSAFEbuild, the caller must be in a request on thisJSContext. | 
| 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, *rvalreceives 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.