JavaScript是否有“短路”评估?

可能重复:
作为一个if语句使用&&短路?
JavaScript是否在布尔expression式中使用优化?

我想知道JavaScript是否有像C#中的&&运算符那样的“Short-circuit”评估 。 如果没有,我想知道是否有一个解决方法是合理的采用。

是的,JavaScript有“短路”评估。

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

现场演示

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

现场演示