与其他语言不同,在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 // =>‘‘
原文地址:https://www.cnblogs.com/lmjZone/p/8695803.html
时间: 2024-10-07 05:29:51