3 votes

D'où vient la variable "arguments" dans "this.callParent(arguments)" ?

En apprenant ExtJS 4, j'ai découvert qu'en définissant une nouvelle classe, dans la méthode initComponent, le constructeur de la classe parent peut être appelé en utilisant this.callParent(arguments).

J'aimerais savoir où cette variable arguments (je sais qu'elle peut aussi être args ou a ou arg) est définie, et où sa valeur est assignée.

Par exemple, si je définis ma classe comme suit:

Ext.define('shekhar.MyWindow', {

  extend : 'Ext.Window',
  title : 'Ceci est un titre',

  initComponent : function() {
    this.items = [
      // tous les contrôles à afficher dans la fenêtre
    ];

    // Je n'ai défini nulle part la variable argument
    // mais pourtant ExtJS rendra cette fenêtre correctement sans aucune erreur
    this.callParent(arguments);
  }

});

Est-ce que quelqu'un sait où cette variable arguments est définie, et comment les valeurs lui sont assignées?

7voto

hopper Points 3778

La variable arguments est une variable spéciale en JavaScript, disponible dans n'importe quelle fonction. Ce n'est pas un vrai tableau, mais il contient les valeurs des arguments passés à la fonction qui peuvent être accessibles comme des éléments de tableau (donc, arguments[0] est le premier argument, arguments[1] est le deuxième, et ainsi de suite).

Consultez cette page sur le Mozilla Developer Network pour plus d'informations et d'exemples.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X