js中的||与&&用法

45 篇文章 1 订阅

&& 与符号:按顺序执行,返回后者。

1
2
3
4
5
6
7
8
9
10
     function  a(){
     alert( "a" );
     return  true ;
}
function  b(){
     alert( "b" );
     return  true ;
}
var  c=a()&&b();
alert(c);       

  a() && b() 

如果执行a()后返回true,则执行b()并返回b的值;

如果执行a()后返回false,则整个表达式返回a()的值, b()不执行;

const response = fileList[len - 1] && fileList[len - 1].response || {};
const filePath = response && response.responseObject && response.responseObject.filePath;

|| 或符号:只返回一个。

1
2
3
4
5
6
7
8
9
10
function  a(){
     alert( "a" );
     return  true ;
}
function  b(){
     alert( "b" );
     return  false ;
}
var  c=a()||b();
alert(c);

  a() || b() :如果执行a()后返回true,则整个表达式返回a()的值,b()不执行;如果执行a()后返回false,则执行b()并返回b()的值;

  message.error(err.message ||'保存订单失败');

  && 优先级高于 ||

  alert((1 && 3 || 0) && 4); //结果4 ①
  alert(1 && 3 || 0 && 4); //结果3 ②
  alert(0 && 3 || 1 && 4); //结果4 ③

  分析:
  语句①:1&&3 返回3 => 3 || 0 返回 3 => 3&&4 返回 4
  语句②:先执行1&&3 返回3,在执行0&&4返回0,最后执行结果比较 3||0 返回 3
  语句③:先执行0&&3 返回0,在执行1&&4返回4,最后执行结果比较 0||4 返回 4

  注:非0的整数都为true,undefined、null和空字符串”" 为false。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值