JS利用与或运算符优先级实现if else条件判断表达式
作者:半夏时间:2026-10-24 19:59:11浏览:154
本文介绍如何利用JavaScript中&&和||运算符的短路特性及优先级,替代传统的if-else语句。通过解析非布尔值向布尔值的转换规则,结合逗号运算符,实现简洁的条件分支逻辑,适用于简单的真假判断场景。
JavaScript利用与或运算符实现条件判断
代码如下:
<script type="text/javascript">
/******************************************************************* 利用运算符优先级实现if-else表达式
result = expression1 && expression2
当且仅当两个表达式的值都等于 True 时, result 才是 True。
如果任一表达式的值等于 False, 则 result 为 False。
JScript 使用下面的规则,来把非 Boolean 值转换为 Boolean 值:
所有对象都被认为是 true。
字符串当且仅当为空时被认为是 false。
null 和未定义的均被认为是 false。
数字当且仅当为零时是 false。
*******************************************************************/
alert(1&&0); //false,return the first false's argument 0
alert(1&&2); //true,return the last true's argument 2
/*******************************************************************
result = expression1 || expression2
如果两个表达式中有一个或两个等于 True,则 result 是 True。
JScript 使用下面的规则来把非 Boolean 值转换为 Boolean 值:
所有对象都被认为是 true。
字符串当且仅当为空时才被认为是 false。
null 和未定义的均被认为是 false。
数字当且仅当为 0 时才是 false。
*******************************************************************/
alert(1||0); //true,return the first ture's argument 1
alert(0||false); //false,return the last false' argument false
/*******************************************************************
"并列"表达式,返回最后一个表达式
*******************************************************************/
alert((1,0,-1)); //return the last argument -1
/*******************************************************************
利用运算符优先级实现if(...){...}else{...}
無明確返回值的一律返回undefined
undefined,null都將被轉換為false
*******************************************************************/
var a = true;
a && (alert('true'),1) || alert('false')
/*******************************************************************
或者用三目运算符
*******************************************************************/
a ? alert('true') : alert('false');
</script>作者最新文章
JavaScript闭包与类(Class)的区别及适用场景对比
2026-11-05 15:48:57
JavaScript入门要学ES6吗?let与箭头函数等新特性解析
2026-11-05 14:49:16
JavaScript 8种数据类型详解:基本类型与引用类型的区别
2026-11-05 14:25:15
怎么在JavaScript中使用async/await优化Ajax异步流程
2026-11-05 13:56:15
JavaScript replace回调函数实现动态正则替换逻辑
2026-11-05 13:52:13
