JS中的“&&”与“&”和“||”“|”有什么区别?

JS中的“&&”与“&”和“||”“|”有什么区别?

  1. 运算表达的不同 只要 “||” 前面为false,不管 “||” 后面是true 还是 false ,都返回 “||” 后面的值。只要 “||” 前面为true,不管 “||” 后面是true 还是false ,都返回 “||” 前面的值。 JavaScript中的位运算符:“|”运算方法:两个位只要有一个为1,那么结果都为1。否则就为0。
  2. 使用方式的不同 只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;
  3. 运算逻辑的不同 按位与:a&b是把a和b都转换成二进制数然后再进行与的运算;逻辑与:a&&b就是当且仅当两个操作数均为true时,其结果才为true;只要有一个为零,a&&b就为零。

扩展资料

js中的||的使用:

只有前后都是false的时候才返回false,否则返回true;

alert(2||1);//2

前面2是true,后面1也是true,结果是2;

alert(‘a’||1);//‘a’

前面’a’是true,后面1也是true;测试结果是’a’;

alert(’’||1);//1

前面”是false,后面1是true,而返回结果是1;

alert(‘a’||0);//‘a’

前面’a’是true,而后面0是false,返回结果是’a’;

alert(’’||0);//0

前面”是false,后面0同样是false,返回结果是0;

alert(0||’’);//’’

前面0是false,后面”是false,返回结果是”。

经验分享 程序员 微信小程序 职场和发展