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 animate 动画效果使用说明
Nov 04 Javascript
JQuery魔力之$("tagName")与selector
Mar 05 Javascript
jquery插件uploadify多图上传功能实现代码
Aug 12 Javascript
Javascript中函数名.length属性用法分析(对比arguments.length)
Sep 16 Javascript
React diff算法的实现示例
Apr 20 Javascript
Vue 框架之键盘事件、健值修饰符、双向数据绑定
Nov 14 Javascript
Vuex新手的理解与使用详解
May 31 Javascript
聊聊Vue 中 title 的动态修改问题
Jun 11 Javascript
ES6 class的应用实例分析
Jun 27 Javascript
AI小程序之语音听写来了,十分钟掌握百度大脑语音听写全攻略
Mar 13 Javascript
js实现QQ邮箱邮件拖拽删除功能
Aug 27 Javascript
vue data有值,但是页面{{}} 取不到值的解决
Nov 09 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抽象类 介绍
2012/06/13 PHP
php实现的一个很好用HTML解析器类可用于采集数据
2013/09/23 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
2016/10/17 PHP
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
2010/11/21 Javascript
js使用html()或text()方法获取设置p标签的显示的值
2014/08/01 Javascript
javascript将DOM节点添加到文档的方法实例分析
2015/08/04 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
JavaScript 详解预编译原理
2017/01/22 Javascript
vue不通过路由直接获取url中参数的方法示例
2017/08/24 Javascript
vue-resouce设置请求头的三种方法
2017/09/12 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
2018/04/26 jQuery
Vue组件化开发之通用型弹出框的实现
2020/02/28 Javascript
jQuery实现的解析本地 XML 文档操作示例
2020/04/30 jQuery
Python异常处理总结
2014/08/15 Python
Python 创建子进程模块subprocess详解
2015/04/08 Python
Python入门_学会创建并调用函数的方法
2017/05/16 Python
浅谈使用Python内置函数getattr实现分发模式
2018/01/22 Python
详谈python在windows中的文件路径问题
2018/04/28 Python
python数据挖掘需要学的内容
2019/06/23 Python
Python timer定时器两种常用方法解析
2020/01/20 Python
python计算Content-MD5并获取文件的Content-MD5值方式
2020/04/03 Python
学生如何注册Pycharm专业版以及pycharm的安装
2020/09/24 Python
Pycharm操作Git及GitHub的步骤详解
2020/10/27 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
2021/01/05 Python
ECHT官方网站:男女健身服
2020/02/14 全球购物
薇姿法国官网:Vichy法国
2021/01/28 全球购物
保加利亚运动鞋购物网站:SneakerStudio.bg
2020/12/23 全球购物
个人简历中的自我评价怎么写
2014/01/26 职场文书
房产委托公证书样本
2014/04/04 职场文书
纪检监察建议书
2014/05/19 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
某药房的新员工入职告知书!
2019/07/15 职场文书
利用For循环遍历Python字典的三种方法实例
2022/03/25 Python