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. |
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, |
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.
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.