js逻辑操作符(!,&&,||)与运算符优先级
来源:互联网 发布:淘宝链接转化微信 编辑:程序博客网 时间:2024/04/29 13:13
js中的逻辑操作符包括!(逻辑非),&&(逻辑与),||(逻辑或),
!逻辑非:对一个操作数的布尔值取反,可通过!!取得操作数的布尔值类型,如下代码(空数组的布尔值为true,空字符的布尔值为false)
console.log(!0);//trueconsole.log(!!0);//falseconsole.log(![]);//falseconsole.log(!![]);//trueconsole.log(!"");//trueconsole.log(!!"");//false
&&逻辑与:二元操作符,第一个操作数的布尔值为true,则值为第二个操作数,第一个操作符的布尔值为false则值为第一个操作数。
var result=true&&3;//3var result=1&&3;//3var result=[]&&'';//''var result=''&&3;//''var result=false&&3;//falsevar result=null&&true;//null
要注意的是逻辑或是短路操作,如果第一个操作数的布尔值是false,则第二个操作数不被执行,如下代码:
var num=0;var result=false&&num++;console.log(num);//0;
||逻辑或:与逻辑与的操作很相似,但取值刚好相反,当第一个操作数的布尔值为true时,则值为第一个操作数,第一个操作数的布尔值为false时,则值为第二个操作数。同样逻辑或的操作是短路操作,当第一个操作数的布尔值为true时,第二个操作数不会被执行。示例代码:
var result=true||3;//truevar result=1||3;//1var result=[]||'';//[]var result=''||3;//3var result=false||3;//3var result=null||true;//truevar num=0;var result=true||num++;console.log(num);//0
运算符优先级详细参考链接:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Operator_Precedence
1 0
- js逻辑操作符(!,&&,||)与运算符优先级
- js的表达式,运算符,与优先级
- JS与&& 或||运算符 优先级
- js运算符优先级
- JS运算符优先级
- js运算符优先级
- js运算符优先级
- JS运算符优先级
- js运算符优先级
- JavaScript 操作符(算术/逻辑/比较/赋值运算符/优先级/自增自减/三目运算符)
- javaScript逻辑与操作符运算规则
- 运算符与优先级
- 运算符与优先级
- js操作符优先级
- JS运算符优先级规则
- js运算符的优先级
- 操作符运算符优先级
- VC++优先级与运算符
- tableview 自定义cell左边图片
- Java中内存泄漏的情况
- imageView图片动态改变背景图
- 学习Linux系统中命令的简单方法
- Java设计模式六大原则之场景应用分析
- js逻辑操作符(!,&&,||)与运算符优先级
- spring boot 集成swagger
- [BZOJ4259]残缺的字符串(FFT)
- HAUT 1261 地狱飞龙(数值积分)(河南工业大学2017校赛)
- 从零写一个GAN
- 安卓 每隔一段时间执行一次操作
- 设置短信验证码动态计时器
- #ifndef/#define/#endif使用详解
- tableView 自定义分隔线