Variable des arguments et des valeurs par défaut dans le Javascript, Actionscript et PHP

Wednesday, Mai 7th, 2008

Qui sait qui a développé l'une des fonctions function () c'est qu'ils ont ou moins des arguments d'entrée. Il peut parfois arriver, d'avoir à écrire une fonction qui, en fonction de paramètres d'entrée, il se comporte différemment (dans la programmation OO, nous trouvons ce comportement a indiqué que le polymorphisme). Paramètres variables (varargs), déjà introduites au moment de C est présent par défaut dans l'énoncé classique du main

CODE:
  1. ; int main (int argc, char * argv []);

pas être confondu avec le paramètre par défaut d'un paramètre, maintenant entièrement pris en charge Actionscript 3.0.

Default Arguments

Par exemple, en PHP, vous pouvez définir une fonction comme ceci:

PHP:
  1. $a , $b = 5 ) { function bar ($ a, $ b = 5) (
  2. / / Todosomethink
  3. )

$b paramètre $b est facultatif, qui est, s'il n'est pas accepté lors de l'appel d'assumer la valeur par défaut de 5.

Comme prévu également Actionscript 3.0 supporte maintenant pleinement ce système:

ActionScript 3.0 a été introduit la possibilité de déclarer des valeurs de paramètre par défaut pour une fonction. Si, dans un appel à une fonction avec le paramètre par défaut est omis un paramètre avec des valeurs par défaut, utilisez la valeur spécifiée pour ce paramètre dans la définition de fonction. Tous les paramètres avec les valeurs par défaut doit être placé à la fin de la liste de paramètres. Les valeurs attribuées par défaut pour être des constantes à la compilation. L'existence d'une valeur par défaut pour un paramètre signifie que le paramètre devient un paramètre optionnel, tandis qu'un paramètre sans valeur par défaut est considéré comme un paramètre requis.

C'est la même chose pour PHP: un paramètre avec une valeur pré-venta en option.

Dans ActionScript 3.0, semblable à l'exemple illustré ci-dessus en PHP, vous pouvez prédéfinir des paramètres d'entrée de cette façon:

ActionScript
  1. a : int , b : int = 5 ) : void { barre de fonctions (a: int, b: int = 5): void (
  2. / / Todosomethink
  3. )

Même dans ce cas, le b second paramètre devient automatiquement en option.

En JavaScript, malheureusement, cette fonctionnalité n'est pas - encore - pris en charge. Bien qu'il existe quelques «alambiquée» techniques (voir par exemple le défaut Arguments en fonctions JavaScript) pour simuler ou de contourner l'obstacle, l'utilisation de cette technique en Javascript est très limité.

Paramètres variables

Cette technique, contrairement à son prédécesseur, vous permet d'examiner le contenu et la présence des paramètres d'entrée d'une fonction. Il est évident que cette approche mai également être utilisé pour définir les paramètres manquants. En PHP, par exemple, nous avons trois fonctions simples qui travaillent sur les paramètres d'entrée: func_num_args() func_num_args() et func_get_arg() Ces fonctions permettent respectivement de renvoyer le nombre d'arguments, retourne un tableau avec tous les éléments d'entrée, de récupérer un élément spécifique d'entrée. Par exemple

PHP:
  1. function bar () (
  2. . func_num_args ( ) ; Nombre echo 'd'arguments passés ='. func_num_args ();
  3. )

Retourne le nombre d'arguments passés à la pluto Dans l'exemple ci-dessous, cependant, est considérée comme une tâche peut varier son comportement en fonction du nombre (et aussi le type - polimofica) de ses paramètres. Dans ce cas, si nous appelons pluto() avec deux ou plusieurs paramètres est affiché autrement non.

PHP:
  1. function bar () (
  2. func_num_args ( ) > 2 ) si (func_num_args ()> 2)
  3. . func_get_arg ( 1 ) ; // essendo in base 0 echo 'Le deuxième paramètre est'. func_get_arg (1), / / depuis une base 0
  4. )

Cela vous permet de "simuler" un paramètre par défaut des paramètres, mais depuis PHP supporte les indigènes et encore plus pratique que définis ci-dessus. Cependant ici est un exemple pour bien comprendre:

PHP:
  1. function bar () (
  2. ! isset ( func_get_arg ( 1 ) ) ) { si (isset (func_get_arg (1))) (
  3. / / Le second paramètre a été adoptée
  4. )
  5. )

ou:

PHP:
  1. function bar () (
  2. func_num_args ( ) < 2 ) { si (func_num_args () <2) (
  3. / / Le second paramètre a été adoptée
  4. )
  5. )

En ActionScript, Javascript et avoir un situzione comme:

ActionScript
  1. function bar () (
  2. 'Numero argomenti passati = ' + arguments . length ) ; trace ( 'Nombre d'arguments passés =' + arguments. length);
  3. / / Print tous les arguments
  4. var i : uint = 0 ; i < arguments . length ; i ++ ) { for (var i: uint = 0; i <arguments. longueur; i + +) (
  5. arguments [ i ] ) ; trace (arguments [i]);
  6. )
  7. )

en Javascript:

JavaScript:
  1. function bar () (
  2. 'Numero argomenti passati = ' + arguments. length ) ; alert ( 'Nombre d'arguments passés =' + arguments. length);
  3. / / Print tous les arguments
  4. '' ; var o ='';
  5. var i = 0 ; i < arguments. length ; i ++ ) { for (var i = 0; i <arguments. longueur; i + +) (
  6. i ] + ' \n ' ; o + = arguments [i] + '\ n';
  7. )
  8. o ) ; alert (o);
  9. )

Depuis l'ECMA, Actionscript et Javascript sont très semblables, en utilisant à la fois un arguments qui fournit alors des informations diverses.

Related Post

Cet article était utile?: Per nientePocoAbbastanzaMoltoMoltissimo
Loading ... Chargement ...

2 commentaires pour "Sous réserve des variables et des paramètres par défaut en Javascript, Actionscript et PHP"

  1. getAvatar 1.0
    11 juin 2008 en Actionscript 3.0 Arguments Variable | Undolog.com:

    [...] Post arguments variable et par défaut en Javascript, Actionscript et PHP a révélé l'utilisation de techniques de transmettre des paramètres et des variables par défaut. Ajouter maintenant, [...]

  2. getAvatar 1.0
    05 GEN, 2009 Wordpress: wp_parse_args () | Undolog.com:

    [...] Wordpress fonctions et est utile quand une fonction prend en charge paramteri plus. Comme indiqué dans les sujets et variable par défaut en Javascript, Actionscript et PHP, il serait nécessaire de transférer les paramètres de la manière dont [...]

Laissez un commentaire

TAG PERMISSIONS XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERTION CODE:
 <pre></pre>         // blocco generico [code][/code]       // blocco generico [as][/as]           // Actionscript [css][/css]         // CSS Style Sheet [html][/html]       // HTML [js][/js]           // Javascript [objc][/objc]       // Objective-C [php][/php]         // PHP [sql][/sql]         // SQL