Ext JS - Learning Center

Manual:Utilities:Function (French)

From Learn About the Ext JavaScript Library

Jump to: navigation, search
Summary: Function
Author: Ext Community, Sébastien ROMMENS(Translator)
Published: Unkown
Ext Version: 1.1
Languages: en.png English cn.png Chinese fr.png French

En JavaScript, les fonctions sont des objets qui peuvent contenir des méthodes. La librairie Ext fournit des extensions à l'objet Function pour toutes ses fonctions natives, et toutes les fonctions que vous définirez en hériterons. Ces méthodes évoluées fournissent un moyen très pratique pour définir le périmètre d'exécution (scope) d'une fonction.

Contents

L'importance du périmètre

En JavaScript, il n'y a pas d'objet lié à une fonction par défaut, et la variable this est alors la fenêtre du navigateur (window). Ceci est à l'origine de beaucoup de malentendus et de nombreuses erreurs lorsque l'on commence à écrire du JavaScript Orienté Objet. Les méthodes suivantes vous permettent de lier un objet au périmètre d'exécution d'une fonction (sa variable this), et aussi pour lier une liste d'arguments à une fonction.

Délégation et fonction de Callback

createDelegate

createDelegate (API reference) vous permet de lier un objet au périmètre d'exécution d'une fonction, et de spécifier, via un tableau, la liste des arguments à passer à cette fonction. Optionnellement, prend un paramètre qui spécifie où placer ce tableau dans la liste des arguments. Si ce troisième argument n'est pas spécifié, le tableau devient la totalité des arguments passés.

Example:

var fn = func1.createDelegate(scope, [arg1,arg2], true)
fn(a,b,c) === scope.func1(a,b,c,arg1,arg2);
 
var fn = func1.createDelegate(scope, [arg1,arg2])
fn(a,b,c) === scope.func1(arg1,arg2);
 
var fn = func1.createDelegate(scope, [arg1,arg2], 1)
fn(a,b,c) === scope.func1(a,arg1,arg2,b,c);

createCallback

createCallback (API reference) vous permet de lier une liste d'arguments à une fonction. Spécifiez simplement les arguments dans les paramètres de la fonction createCallback.

Example:

var fn = func1.createCallback(arg1, arg2);
fn() === func1(arg1, arg2)

Fonctions POA

La librairie Ext fournit également quelques fondamentaux aspect-oriented programming de PAO. Ceci signifie qu'une fonction de votre choix peut être appelée avant ou après une autre fonction, et qu'elle peut altérer la chaine d'exécution suivant son résultat. Cette pratique peut être vraiment utile lorsque vous voulez étendre le comportement d'une fonction native d'Ext sans utiliser d'héritage ou modifier le code d'Ext. Vous pouvez ajouter votre fonctionnalité soit avant ou après la fonction existante en utilisant les deux méthodes suivantes.

createInterceptor

createInterceptor (API reference) vous permet de définir une fonction qui sera appelée avant la fonction en question. Il y sera passé tous les arguments de la fonction d'origine. Si elle renvoi false, la fonction d'origine ne sera pas appelée. Un périmètre d'exécution optionnel peut être passé.

createSequence

createSequence (API reference) vous permet de définir une fonction qui sera appelée après la fonction en question. Un périmètre d'exécution optionnel peut être passé.

Exécution différée

La librairie Ext met aussi à disposition un moyen pratique d'encapsuler l'appel setTimeout Javascript. La fonction defer vous permet de différer l'exécution d'une fonction après un timeout spécifique, mais vous permet également de préciser à la fois la portée et la fonction qui va être exécutée, ainsi que la liste des arguments à passer à cette fonction quand elle est appelée.

  • This page was last modified 16:35, 6 February 2008.
  • This page has been accessed 1,021 times.