什么是逻辑和&&和||在括号外做?

时间:2014-03-16 22:43:34

标签: javascript logic

我看到了像这样的javascript代码

if (a_condition_is_true){
//do this;
//annd this;
var1||var2;
var3 && var4 = var5  // or somthing like that

}

所以在标题中logocal&& amp;和||做外面的parantheses? 谢谢 修改

if(a_variable<>a_value){//is that operator (<> not equal !=)legal or not for i saw it before 
//do somthing
}

2 个答案:

答案 0 :(得分:4)

由于

var1||var2;

表示&#34;评估var1并使用其结果如果真实,否则评估var2并使用其结果&#34;,它相当于

if (!var1) { var2; }

答案 1 :(得分:0)

在没有短路的语言中,他们什么都不做。

但是,大多数语言都有短路,这意味着对于OR,如果第一个条件为真,那么它永远不会评估第二个。然后对于AND,如果第一个条件为假,它永远不会评估第二个条件。

||和&amp;&amp;也可以作为动态语言中的语法糖,其中undefined是假的,例如JavaScript。例如,如果某个对象上的属性可能为null,并且您想要检查该属性,则可以这样:

if (obj.prop1 && obj.prop1.prop2) { ... }

或者要设置默认值,您可以执行类似

的操作
var j = thisMightBeNull || "default value";