js中||和&&的用法
2024-08-28 02:58:03
在js中&&、||不一定都是用来判断一个表达式的逻辑值是true、false,更多的是用来依据真值或者假值执行相应操作!
a() && b() :如果执行a()后返回true,则执行b()并返回b的值;如果执行a()后返回false,则整个表达式返回a()的值,b()不执行;
a() || b() :如果执行a()后返回true,则整个表达式返回a()的值,b()不执行;如果执行a()后返回false,则执行b()并返回b()的值;
&& 优先级高于 ||
如下:
alert((1 && 3 || 0) && 4); //结果4 ①
alert(1 && 3 || 0 && 4); //结果3 ②
alert(0 && 3 || 1 && 4); //结果4 ③
分析:
语句①:1&&3 返回3 => 3 || 0 返回 3 => 3&&4 返回 4
语句②:先执行1&&3 返回3,在执行0&&4返回0,最后执行结果比较 3||0 返回 3
语句③:先执行0&&3 返回0,在执行1&&4返回4,最后执行结果比较 0||4 返回 4
注:非0的整数都为true,undefined、null和空字符串”" 为false。
因此,在js中,下面的写法是等价的:
if(a){
b
}
//等价于
a&&(b)
//b可以是一个function调用表达式,或者是多个语句用","串起来
最新文章
- (一)java arcgis开发环境搭建
- 【faster-rcnn】训练自己的数据——修改图片格式、类别
- php 用户登录验证
- D3D的内存类型
- [转]MFC中UpdateData()函数的使用
- 跨域请求之JSONP 三
- 基于 Jenkins 快速搭建持续集成环境--转
- golang protobuf
- TCP服务器:多进程
- [小知识] 获取浏览器UA标识
- WPF 验证没有通过无法保存数据(非常好)+ 虚似数据库
- JS--dom对象:document object model文档对象模型
- HTML使用CSS样式的方法
- PHP快速排序(递归)
- C# 动态生成类 枚举等
- 单用户模式&;救援模式&;克隆虚拟机&;Linux机器相互登录
- kafka传数据到Flink存储到mysql之Flink使用SQL语句聚合数据流(设置时间窗口,EventTime)
- 动态权限<;一>;基本介绍
- Ubuntu安装Nginx和正确卸载Nginx Nginx相关
- WPF中DataGrid的应用-绑定,增改删,分页,样式