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 相关文章推荐
firefox下frameset取不到值的解决方法
Sep 06 Javascript
使用jQuery全局事件ajaxStart为特定请求实现提示效果的代码
Dec 30 Javascript
使用js解决由border属性引起的div宽度问题
Nov 26 Javascript
什么是cookie?js手动创建和存储cookie
May 27 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
Jun 06 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
Aug 24 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
Jan 03 Javascript
微信小程序 setData的使用方法详解
Apr 20 Javascript
Vue.js进行查询操作的实例详解
Aug 25 Javascript
送你43道JS面试题(收藏)
Jun 17 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
Nov 26 jQuery
使用next.js开发网址缩短服务的方法
Jun 17 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
德劲1107的电路分析与打磨
2021/03/02 无线电
php+jQuery.uploadify实现文件上传教程
2014/12/26 PHP
PHP回溯法解决0-1背包问题实例分析
2015/03/23 PHP
使用php-timeit估计php函数的执行时间
2015/09/06 PHP
PHP压缩图片功能的介绍
2019/03/21 PHP
多浏览器支持的右下角浮动窗口
2010/04/01 Javascript
吐槽一下我所了解的Node.js
2014/10/08 Javascript
js动态修改表格行colspan列跨度的方法
2015/03/30 Javascript
JS模拟实现Select效果代码
2015/09/24 Javascript
JavaScript之生成器_动力节点Java学院整理
2017/06/30 Javascript
vue实现裁切图片同时实现放大、缩小、旋转功能
2018/03/02 Javascript
layui radio单选限制下一个radio单选的实例
2019/09/03 Javascript
vue双向绑定数据限制长度的方法
2019/11/04 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
在vue中使用Echarts利用watch做动态数据渲染操作
2020/07/20 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
[00:36]DOTA2风云人物相约完美“圣”典 12月17日不见不散
2016/11/30 DOTA
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
2014/05/06 Python
Python 序列化 pickle/cPickle模块使用介绍
2014/11/30 Python
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
python Gunicorn服务器使用方法详解
2019/07/22 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
2019/11/25 Python
PyTorch使用cpu加载模型运算方式
2020/01/13 Python
Pandas之read_csv()读取文件跳过报错行的解决
2020/04/21 Python
Django 解决阿里云部署同步数据库报错的问题
2020/05/14 Python
Django中日期时间型字段进行年月日时分秒分组统计
2020/11/27 Python
python如何实现递归转非递归
2021/02/25 Python
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
2013/07/19 HTML / CSS
TripAdvisor土耳其网站:全球知名旅行社区,真实旅客评论
2017/04/17 全球购物
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
实习推荐信
2014/05/10 职场文书
教师党员个人整改措施
2014/10/27 职场文书
第一军规观后感
2015/06/12 职场文书
复活读书笔记
2015/06/29 职场文书
python中__slots__节约内存的具体做法
2021/07/04 Python