227 votes

valeurs par défaut d’argument dans les fonctions javascript

Double Possible:
Comment puis-je faire une valeur par défaut pour un paramètre à une fonction javascript

en PHP:

function func($a = 10, $b = 20){
  // if func() is called with no arguments $a will be 10 and $ b  will be 20
}

Comment pouvez-vous faire cela en javascript?

Je reçois un message d'erreur si j'essaie d'assigner des valeurs à des arguments de la fonction

manquant ) après les paramètres formels

381voto

Ravan Points 2688

En javascript vous pouvez appeler une fonction (même si elle a paramètres) sans paramètres.

Vous pouvez donc ajouter les valeurs par défaut comme ceci :

et puis vous pouvez l’appeler comme `` d’utiliser les paramètres par défaut.

Voici un test :

142voto

Boopathi Rajaa Points 1802

en javascript, vous avez une méthode abrégée pour if undefined then () ...

function(a, b) {
  a = a || "default value";
  b = b || "default"
}

edit:

vous pouvez l'appliquer à n'importe quoi.

x = x || function(){};
y = y || {};
z = z || 5
p = p || "string"

edit 2: pour résoudre le problème comme indiqué dans les commentaires ...

x = (typeof x === 'undefined') ? DEFAULT_VALUE : x;

une bonne approche consiste à ne traiter que l' undefined valeurs.

un exemple est donné ici ... concernant à la fois les méthodes

http://jsfiddle.net/boopathi/Lxz52/9/

mais dans des endroits comme x getting assigned to a function il est préférable que vous utilisez

x = x || function() {}

12voto

jtbandes Points 39804

Vous devez vérifier si l’argument n’est pas défini :

Notez également que cette question a été répondu avant.

5voto

tkahn Points 872

Je n’ai jamais vu faire ça en JavaScript. Si vous voulez une fonction avec des paramètres facultatifs qui sont-ils assignés des valeurs par défaut si les paramètres sont omis, voici une façon de le faire :

4voto

Gaby aka G. Petrioli Points 85891
<pre><code></code><p>en sténographie</p><pre><code></code></pre></pre>

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