2010-10-08 6 views
1

Je suis en train d'utiliser l'opérateur || comme l'opérateur « par défaut » comme décrit par Crockford à (http://www.crockford.com/javascript/survey.html):erreur de référence en utilisant Javascript opérateur par défaut

L'opérateur || est communément appelé logique ou. Il peut également être appelé par défaut. Si le premier opérande est false, null, undefined, "" (la chaîne vide), ou le nombre 0, alors il retourne le deuxième opérande. Sinon, il renvoie le premier opérande. Cela fournit un moyen pratique de spécifier les valeurs par défaut:

value = v || 10; /* Use the value of v, but if v 
doesn't have a value, use 10 instead. */ 

Quand je type dans la Firebug console javascript il signale une erreur: ReferenceError: v est pas définie, et ne va pas à mettre en valeur à 10.

Est-ce que ce comportement est attendu?

Répondre

3

Oui. Si vous n'avez pas dit javascript que "v" est une variable, il va se plaindre. Vous pouvez faire l'une des deux choses à corriger cela:

var v; 
value = v || 10; 

ou

value = window.v || 10; 
+0

Merci. La deuxième option ressemble à ce que j'essaie de faire. –

Questions connexes