与其他语言不同,在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 ????????// =>‘‘
js中的||和&&的用法
原文地址:https://www.cnblogs.com/lmjZone/p/8695803.html