javascript &&和||运算法的另类使用技巧


Posted in Javascript onNovember 28, 2009

&&和||在JQuery源代码内尤为使用广泛,由于本人没有系统的学习js,所以只能粗略的自我理解出来,希望大家指点下。
粗略理解如下:

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。

Javascript 相关文章推荐
jQuery UI 应用不同Theme的办法
Sep 12 Javascript
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
Apr 04 Javascript
Javascript中定义方法的另类写法(批量定义js对象的方法)
Feb 25 Javascript
JavaScript 布尔操作符解析  && || !
Aug 10 Javascript
javascript自动给文本url地址增加链接的方法分享
Jan 20 Javascript
AngularJS入门教程之Select(选择框)详解
Jul 27 Javascript
jQuery表单元素选择器代码实例
Feb 06 Javascript
js事件委托和事件代理案例分享
Jul 25 Javascript
js canvas实现简单的图像扩散效果
Jun 28 Javascript
javascript代码优化的8点总结
Jan 29 Javascript
Node.js静态服务器的实现方法
Feb 28 Javascript
浅谈Vue2.4.0 $attrs与inheritAttrs的具体使用
Mar 08 Javascript
javascript showModalDialog 多层模态窗口实现页面提交及刷新的代码
Nov 28 #Javascript
JavaScript 闭包在封装函数时的简单分析
Nov 28 #Javascript
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
Nov 27 #Javascript
Javascript 复制数组实现代码
Nov 26 #Javascript
js setattribute批量设置css样式
Nov 26 #Javascript
Javascript 二维数组
Nov 26 #Javascript
isArray()函数(JavaScript中对象类型判断的几种方法)
Nov 26 #Javascript
You might like
77A一级收信机修理记
2021/03/02 无线电
PHP 程序员应该使用的10个组件
2009/10/31 PHP
CodeIgniter生成网站sitemap地图的方法
2013/11/13 PHP
PHP中new static()与new self()的比较
2016/08/19 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
javascript 子窗体父窗体相互传值方法
2010/05/31 Javascript
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
2016/07/22 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
浅谈super-vuex使用体验
2018/06/25 Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
2019/08/23 Javascript
layui-select动态选中值的例子
2019/09/23 Javascript
javascript使用正则表达式实现注册登入校验
2020/09/23 Javascript
对于Python异常处理慎用“except:pass”建议
2015/04/02 Python
机器学习python实战之手写数字识别
2017/11/01 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
Python Numpy库安装与基本操作示例
2019/01/08 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
2019/01/11 Python
解决python文件双击运行秒退的问题
2019/06/24 Python
解决TensorFlow GPU版出现OOM错误的问题
2020/02/03 Python
Python通过Pillow实现图片对比
2020/04/29 Python
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
财会自我鉴定范文
2013/12/27 职场文书
关于责任的演讲稿
2014/05/20 职场文书
监考失职检讨书
2015/01/26 职场文书
酒店保洁员岗位职责
2015/02/26 职场文书
校长师德表现自我评价
2015/03/04 职场文书
2015年售后服务工作总结
2015/04/25 职场文书
婚礼上证婚人致辞
2015/07/28 职场文书
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis
Python数据分析之绘图和可视化详解
2021/06/02 Python
OpenCV全景图像拼接的实现示例
2021/06/05 Python
SQL Server查询某个字段在哪些表中存在
2022/03/03 SQL Server
SpringBoot+Redis实现布隆过滤器的示例代码
2022/03/17 Java/Android
Docker容器harbor私有仓库部署和管理
2022/08/05 Servers