js中的||和&&的用法

与其他语言不同,在JS中,a&&b或者a||b返回的是要么是a,要么是b;而其他语言中返回的是true or false

对于js中的或与运算,需要隐式的转换为boolean类型再来运算;转换规则为:

a&&b

  如果a为true,则执行b并返回b的值;

  如果a为false,则返回false不执行b;

a||b

  如果a为true,则返回a的值不执行b;

  如果a为false,则执行b并返回b的值;

var a=3;  
var b="test";  
var c={name:'test'};  
var d={};  
  
a || b      // => 3  
c || b      // => {name:'test'}  
d || b      // => {}  
true || b      // => true  
false || b      // => 'test'  
NaN || b       // => 'test'  
'' || b           // => 'test'

a && b         // => 'test'  
c && b         // => 'test'  
d && b         // => 'test'  
true && b     // => 'test'  
false && b     // => fasle  
NaN && b     // => NaN  
'' && b         // =>''

 

posted @ 2018-04-02 17:42  L_mj  阅读(4153)  评论(0编辑  收藏  举报