2012-09-23 18 views
67

Eventuali duplicati:
Using &&'s short-circuiting as an if statement?
Does javascript use optimization in boolean expressions?JavaScript ha una valutazione "Cortocircuito"?

Vorrei sapere se JavaScript ha "cortocircuito" valutazione come & & operatore in C#. Altrimenti mi piacerebbe sapere se c'è una soluzione che ha senso adottare.

+4

Si può facilmente verificare voi stessi ... – gdoron

+0

Grazie Rob W, non sapevo che potevo usare la stringa su Google! :-) – GibboK

+2

Prego. Ho aggiunto 'https:? //www.google.com/search q = sito: stackoverflow.com +% s' come scorciatoia di ricerca (Chrome/Firefox) per velocizzare le ricerche. –

risposta

81

Sì, JavaScript ha "corto circuito" valutazione.

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

Così corto circuito è anche lo standard in JS? – GibboK

+0

@GibboK. Non so cosa intendi per standard, non puoi cambiare quel comportamento, è l'unico comportamento. (proprio come con C# tra l'altro) – gdoron

+1

Grazie gdoron, per favore aiutami a capire ... in C# Ho anche un operatore binario come & così entrambi gli operandi devono essere veri da passare, invece con && in C – GibboK

Problemi correlati