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中两个感叹号的作用说明
Dec 28 Javascript
js中直接声明一个对象的方法
Aug 10 Javascript
Javascript获取CSS伪元素属性的实现代码
Sep 28 Javascript
javascript实现判断鼠标的状态
Jul 10 Javascript
jquery实现可自动判断位置的弹出层效果代码
Oct 12 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
Jul 19 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
Sep 10 Javascript
vue router仿天猫底部导航栏功能
Oct 18 Javascript
实例讲解JavaScript截取字符串
Nov 30 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
Sep 23 Javascript
vue-cli3单页构建大型项目方案
Apr 07 Javascript
javascript遍历对象的五种方式实例代码
Oct 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函数代码
2010/04/22 PHP
探讨如何在php168_cms中提取验证码
2013/06/08 PHP
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
php批量修改表结构实例
2017/05/24 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
PHP程序员简单的开展服务治理架构操作详解(一)
2020/05/14 PHP
PHP网站常见安全漏洞,及相应防范措施总结
2021/03/01 PHP
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
2010/09/19 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
2011/05/12 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
js获取当前日期代码适用于网页头部
2013/06/27 Javascript
javascript限制文本框输入值类型的方法
2015/05/07 Javascript
AngularJS中的缓存使用
2017/01/11 Javascript
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
详解基于Vue+Koa的pm2配置
2017/10/24 Javascript
Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
2017/10/25 Javascript
React Component存在的几种形式详解
2018/11/06 Javascript
[48:46]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第二场 11.19
2020/11/19 DOTA
Python程序设计入门(4)模块和包
2014/06/16 Python
Python科学计算环境推荐——Anaconda
2014/06/30 Python
opencv改变imshow窗口大小,窗口位置的方法
2018/04/02 Python
python 将list转成字符串,中间用符号分隔的方法
2018/10/23 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
在Python中画图(基于Jupyter notebook的魔法函数)
2019/10/28 Python
Python3标准库glob文件名模式匹配的问题
2020/03/13 Python
Python os库常用操作代码汇总
2020/11/03 Python
HTML5本地存储和本地数据库实例详解
2017/09/05 HTML / CSS
手工制作的音乐盒:Music Box Attic
2019/09/05 全球购物
Tea Collection官网:一家位于旧金山的童装公司
2020/08/07 全球购物
2014镇党委班子对照检查材料思想汇报
2014/09/23 职场文书
个人委托书范文
2015/01/28 职场文书
运动会主持词大全
2015/07/02 职场文书
同学聚会开幕词
2019/04/02 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
Spring Cache和EhCache实现缓存管理方式
2021/06/15 Java/Android
分析MySQL优化 index merge 后引起的死锁
2022/04/19 MySQL