JS 中 && 和 || 区别与联系,

来源:互联网 发布:项羽跟虞姬 知乎 编辑:程序博客网 时间:2024/05/16 05:55

几乎在所有语言中 , || 和 && 都遵循“短路”原理,a && b  和 a || b : 将a, b转换为Boolean类型, 再执行逻辑与或逻辑否

在 js中  0 , null , undefined ,空字符串 都是false ,其他的值为true

* 如 && 中第一个表达式为假就不会去处理第二个表达式,而 || 正好相反。
* js也遵循上述原则。

* 当 || 时,找到为true的分项就停止处理,并返回该分项的值,否则执行完,并返回最后分项的值。若 || 前后的两个值都是false , 则返回后面的值


     var temp = null || "2" ;// null 为false , "2" 为true , 所以temp的值应该是2     alert(temp);
     输出结果:2

     var temp = "1" || "2" ;// 1为true , "2" 为true , 所以temp的值应该是1     alert(temp);
     输出结果:1

    var temp = null || undefined ;//null 和 undefined 都为false , 则返回undefined    alert(temp);


当 && 时,找到为false的分项就停止处理,并返回该分项的值。如果都为true , 则返回最后为true的值

     var temp = 1 && 2 ;// 1 和 2 都为true , 所以应该是返回 2      alert(temp);
    输出结果:2
     var temp = null && 2 ;// null 是false ,就不会执行后面了, 所以就停止处理返回null 了     alert(temp);
     输出结果:null
      


1 0
原创粉丝点击