2012-09-23 22 views
67

Duplicar posibles:
Using &&'s short-circuiting as an if statement?
Does javascript use optimization in boolean expressions?¿JavaScript tiene una evaluación de "cortocircuito"?

me gustaría saber si tiene JavaScript"cortocircuito" Evaluación como & & operador en C#. Si no, me gustaría saber si hay una solución que tenga sentido adoptar.

+4

Se puede probar fácilmente usted mismo ... – gdoron

+0

Gracias Rob W, que no sabía que podía usar esa cadena en Google! :-) – GibboK

+2

De nada. Agregué 'https: //www.google.com/search? Q = site: stackoverflow.com +% s' como método abreviado de búsqueda (Chrome/Firefox) para acelerar las búsquedas. –

Respuesta

81

Sí, JavaScript tiene una evaluación de "cortocircuito".

if (true == true || foo.foo){ 
    // Passes, no errors because foo isn't defined. 
} 

Live DEMO

if (false && foo.foo){ 
    // Passes, no errors because foo isn't defined. 
} 

Live DEMO

+4

¿Tan cortocircuito es el estándar en JS? – GibboK

+0

@GibboK. No sé a qué te refieres con estándar, no puedes cambiar ese comportamiento, es el único comportamiento. (al igual que con C# por cierto) – gdoron

+1

Gracias gdoron, ayúdame a entender ... en C# También tengo operador binario como & así que ambos deben ser verdaderos para pasar, en cambio con && en C – GibboK

Cuestiones relacionadas