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 json2 使用方法
Mar 16 Javascript
jQuery读取和设定KindEditor值的方法
Nov 22 Javascript
基于Css3和JQuery实现打字机效果
Aug 11 Javascript
浅谈html转义及防止javascript注入攻击的方法
Dec 04 Javascript
Jqprint实现页面打印
Jan 06 Javascript
Vue响应式添加、修改数组和对象的值
Mar 20 Javascript
用 js 的 selection range 操作选择区域内容和图片
Apr 18 Javascript
对于Javascript 执行上下文的全面了解
Sep 05 Javascript
关于jquery中attr()和prop()方法的区别
May 28 jQuery
layui的layedit富文本赋值方法
Sep 18 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
Dec 03 Vue.js
JS removeAttribute()方法实现删除元素的某个属性
Jan 11 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实时显示输出
2008/10/02 PHP
PHP提取字符串中的图片地址[正则表达式]
2011/11/12 PHP
非常好用的Zend Framework分页类
2014/06/25 PHP
PHP里的单例类写法实例
2015/06/25 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
2020/02/10 PHP
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
javascript动态添加表格数据行(ASP后台数据库保存例子)
2010/05/08 Javascript
JQuery扩展插件Validate 5添加自定义验证方法
2011/09/05 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
如何学习Javascript入门指导
2013/11/01 Javascript
textarea 控制输入字符字节数(示例代码)
2013/12/27 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
JavaScript使用push方法添加一个元素到数组末尾用法实例
2015/04/06 Javascript
JavaScript整除运算函数ceil和floor的区别分析
2015/04/14 Javascript
JS+DIV+CSS实现的经典标签切换效果代码
2015/09/14 Javascript
js实现hashtable的赋值、取值、遍历操作实例详解
2016/12/25 Javascript
JS+Ajax实现百度智能搜索框
2017/08/04 Javascript
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
jQuery中复合选择器简单用法示例
2018/03/31 jQuery
Vue.js更改调试地址端口号的实例
2018/09/19 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
js 函数性能比较方法
2020/08/24 Javascript
[04:20]DOTA2-DPC中国联赛 正赛 VG vs LBZS 选手采访 1月19日
2021/03/11 DOTA
Python利用ansible分发处理任务
2015/08/04 Python
Django实现自定义404,500页面教程
2017/03/26 Python
Python扩展内置类型详解
2018/03/26 Python
详解如何用django实现redirect的几种方法总结
2018/11/22 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
Python 旋转打印各种矩形的方法
2019/07/09 Python
Python3创建Django项目的几种方法(3种)
2020/06/03 Python
Html5自定义字体解决方法
2019/10/09 HTML / CSS
英国领先的独立时装店:Van Mildert
2019/10/28 全球购物
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
学前教育求职自荐信范文
2013/12/25 职场文书
2014幼儿园卫生保健工作总结
2014/12/05 职场文书
评估“风险”创业计划的几大要点
2019/08/12 职场文书