JS_CallFunction

Appelle une fonction JS spécifié.

Syntax

/* Ajouté dans SpiderMonkey 31 */
bool
JS_CallFunction(JSContext *cx, JS::HandleObject obj, JS::HandleFunction fun,
                const JS::HandleValueArray& args,
                JS::MutableHandleValue rval);

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

bool
JS_CallFunctionValue(JSContext *cx, JS::HandleObject obj, JS::HandleValue fval,
                     const JS::HandleValueArray& args, JS::MutableHandleValue rval);

/* Obsolète depuis JSAPI 30 */

bool
JS_CallFunction(JSContext *cx, JSObject *obj, JSFunction *fun, unsigned argc,
                jsval *argv, jsval *rval);

bool
JS_CallFunctionName(JSContext *cx, JSObject *obj, const char *name, unsigned argc,
                    jsval *argv, jsval *rval);

bool
JS_CallFunctionValue(JSContext *cx, JSObject *obj, jsval fval, unsigned argc,
                     jsval *argv, jsval *rval);
Nom Type Description
cx JSContext * Pointeur à un contexte JS à partir duquel obtenir des informations d'exécution. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.
obj JS::HandleObject L'objet «courant» sur lequel la fonction opère; l'objet spécifié ici est "this" lorsque la fonction est exécutée.
fun JS::HandleFunction

Pointeur vers la fonction à appeler. fun devrait être une fonction native ou la fonction JSAPI-compilé. Voir ci-dessous.

name const char * Pointeur sur le nom de la fonction à appeler.
fval JS::HandleValue Pointeur à la valeur de la fonction à appeler.
args const JS::HandleValueArray & Référence à tableaul de valeurs d'arguments à passer à la fonction. Added in SpiderMonkey 31
argc unsigned Nombre d'arguments que vous passez à la fonction. Obsolète depuis JSAPI 30
argv jsval * Pointeur vers le tableau de valeurs d'arguments à passer à la fonction. Obsolète depuis JSAPI 30
rval JS::MutableHandleValue

Out parameter. En cas de succès, *rval reçoit la valeur de retour de l'appel de la fonction.

Description

JS_CallFunction appelle une fonction spécifiée, fun, sur un objet, obj. En termes d'exécution de la fonction, l'objet est traité comme tel.

JS_CallFunctionName appelle une fonction avec un nom spécifique, le nom sur un objet obj. Si le moteur JS parvient pas à obtenir la fonction, il retourne false.

JS_CallFunctionValue appelle une fonction spécifiée, fval sur un objet obj. JS_CallFunctionValue(cx, obj, fval, args, rval) est analogue à la déclaration JavaScript rval = fval.apply(obj, args);.

Dans args, passer une référence aux valeurs des arguments réels à utiliser. Il devrait y avoir une valeur pour chaque argument que vous passez à la fonction; le nombre d'arguments que vous passez peut être différent du nombre d'arguments définis pour la fonction.

Obsolète depuis JSAPI 30.

Dans argc, indiquer le nombre d'arguments passés à la fonction. Dans argv, passer un pointeur vers les valeurs d'arguments réels à utiliser.

rval est un pointeur vers une variable qui contiendra la valeur de retour de la fonction, le cas échéant, sur l'exécution de la fonction réussie.

Si la fonction appelée s'exécute avec succès, JS_CallFunction retourne true. Sinon il retourne false, et rval est indéfinit.

Avertissement: L' appel de JS_CallFunction est sûr que si l'argument fun pourrait être passée à JS_GetFunctionObject sans encombre: autrement dit, il est une fonction mise en oeuvre par un JSNative ou JSFastNative ou le résultat d'un appel à JS_CompileFunction, JS_CompileUCFunction, JS_CompileFunctionForPrincipals, ou JS_CompileUCFunctionForPrincipals. Passant toute autre fonction pointeur JS peut conduire à un crash ou pour pire.

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : jp.jeaphil
 Dernière mise à jour par : jp.jeaphil,