js中的逻辑或和逻辑与
a=‘‘||‘abc‘; //返回什么? ‘abc‘
a=1||2; //返回什么? 1
var a=0; var b=++a||++a ; //a=1;b=1;
b=‘‘&&‘abc‘ //返回什么? ’‘
b=1&&2 //返回什么? 2
var a=0; var b=++a&&++a ; //a=2;b=2;
开始我还以为只会返回false或true。
规则就是:
||: 从左到右运算其中的表达式,直到遇到表达式为true,则直接返回这个表达式,后面的表达式不再运算;一直都没遇到,则返回最后那个表达式。
&&:从左到右运算其中的表达式,直到遇到表达式为false,则直接返回这个表达式,后面的表达式不再运算;一直都没遇到,则返回最后那个表达式。
这两种操作符属于短路操作符,只要已经得出最终结果了,就不再继续计算下去。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。