运算符优先级 以及 && (逻辑与) 和||(逻辑或)的优先级: *自在 闲话少叙...
最编程
2024-08-12 09:52:38
...
*自在 闲话少叙...
运算符优先级(从高到低列出)
运算符 | 描述 |
. [] () | 字段访问、数组下标、函数调用以及表达式分组 |
++ -- - ~ ! delete new typeof void | 一元运算符、返回数据类型、对象创建、未定义值 |
* / % | 乘法、除法、取模 |
+ - + | 加法、减法、字符串连接 |
<< >> >>> | 移位 |
< <= > >= instanceof | 小于、小于等于、大于、大于等于、instanceof |
== != === !== | 等于、不等于、严格相等、非严格相等 |
& | 按位与 |
^ | 按位异或 |
| | 按位或 |
&& | 逻辑与 |
|| | 逻辑或 |
?: | 条件 |
= oP= | 赋值、运算赋值 |
, | 多重求值 |
主要 说明一下&& (逻辑与) 和||(逻辑或)混合使用的时候要注意他们的优先级:(耐心一点点。5分钟搞定)
&& (逻辑与) 优先级高于||(逻辑或)
return a && b || c ,
根据a来判断返回值,a 是 false 则肯定返回 c;如果 b , c 都是 true ,那么我们就可以根据 a 来决定b 还是 c ,如果 a 是 false 则返回 c,如果a是true 则返回 b。
return a || b && c
根据优先级相当于先算 b && c ,然后和a 相 或;如果a是true,则返回a,不论是b或c,如果a是false,则如果b是false,返回b,如果b是true,返回c;
ex:
1 |
var a = 3 && 0 || 2; //2
|
3 |
var b = 3 || 0 && 2; // 3
|
5 |
var c= 0 || 2 && 3; // 3
|
6 |
alert(a),alert(b),alert(c); |
推荐阅读
-
JS、数组]平面数组的基本用法
-
在前向传播和定向传播阶段,Dropout 为什么能防止过度拟合,Dropout 和 BN 有什么区别?
-
TensorFlow 的基本概念和使用场景
-
桥接模式的解释和代码实现
-
vue 通过元素用户界面的 el-date-picker 报告页眉时间,其中包括开始时间和结束时间
-
[C 语言教程] [嵌入式程序设计] (I) 简介和先决条件 (II) 嵌入式程序设计基础 (III) 硬件基础 (IV) 硬件寄存器操作
-
C++ 中的抽象类和抽象方法
-
Spring Boot:中小型医院网站开发的新趋势
-
python 机器人编程 - 使用 python API 调用控制 wifi 小车的示例程序
-
元素将时间和日期框设置为早于当前时间和日期,以禁用