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 相关文章推荐
JavaScript面向对象(极简主义法minimalist approach)
Jul 17 Javascript
JS 实现Json查询的方法实例
Apr 12 Javascript
Javascript实现页面跳转的几种方式分享
Oct 26 Javascript
JS中产生标识符方式的演变
Jun 12 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
Jul 18 Javascript
javascript学习指南之回调问题
Apr 23 Javascript
easyui validatebox验证
Apr 29 Javascript
js中json处理总结之JSON.parse
Oct 14 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
Apr 25 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
Jun 21 Javascript
Node.js 中判断一个文件是否存在
Aug 24 Javascript
JavaScript实现移动端拖动元素
Nov 24 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
在PHP中读取和写入WORD文档的代码
2008/04/09 PHP
php动态生成版权所有信息的方法
2015/03/24 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
用JavaScript实现UrlEncode和UrlDecode的脚本代码
2008/07/23 Javascript
基于jQuery的可以控制左右滚动及自动滚动效果的代码
2010/07/25 Javascript
让JavaScript拥有类似Lambda表达式编程能力的方法
2010/09/12 Javascript
Javascript的并行运算实现代码
2010/11/19 Javascript
jquery实现固定顶部导航效果(仿蘑菇街)
2013/03/21 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
遍历json 对象的属性并且动态添加属性的实现
2016/12/02 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
2017/05/11 Javascript
bootstrap表单示例代码分享
2017/05/18 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
vue 权限认证token的实现方法
2018/07/17 Javascript
layDate日期控件使用方法详解
2018/11/15 Javascript
JS实现的检验身份证格式并输出出生日期,年龄,性别,出生地示例
2019/05/17 Javascript
使用element-ui +Vue 解决 table 里包含表单验证的问题
2020/07/17 Javascript
使用Vant完成Dialog弹框案例
2020/11/11 Javascript
[57:22]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第五场
2018/04/10 DOTA
python3实现TCP协议的简单服务器和客户端案例(分享)
2017/06/14 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
python 中文件输入输出及os模块对文件系统的操作方法
2018/08/27 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
html5菜单折纸效果
2014/04/22 HTML / CSS
Vans英国官方网站:美国南加州的原创极限运动潮牌
2017/01/20 全球购物
家用个人磨皮机:Trophy Skin
2017/03/30 全球购物
社区工作者先进事迹
2014/01/18 职场文书
《记金华的双龙洞》教学反思
2014/04/19 职场文书
2014年营销工作总结
2014/11/22 职场文书
PyQt5实现多张图片显示并滚动
2021/06/11 Python
Python多线程 Queue 模块常见用法
2021/07/04 Python
教你修复 Win11应用商店加载空白问题
2021/12/06 数码科技