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验证工具类搜集整理
Jan 16 Javascript
JS中Iframe之间传值及子页面与父页面应用
Mar 11 Javascript
用Jquery重写windows.alert方法实现思路
Apr 03 Javascript
基于jQuery中对数组进行操作的方法
Apr 16 Javascript
页面载入结束自动调用js函数示例
Sep 23 Javascript
jQuery Validate表单验证深入学习
Dec 18 Javascript
JS创建对象几种不同方法详解
Mar 01 Javascript
详解vue.js全局组件和局部组件
Apr 10 Javascript
JavaScript正则表达式简单实用实例
Jun 23 Javascript
jquery一键控制checkbox全选、反选或全不选
Oct 16 jQuery
vue学习笔记之slot插槽基本用法实例分析
Feb 01 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
Feb 14 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
Windows下安装Memcached的步骤说明
2010/04/25 PHP
php计算指定目录下文件占用空间的方法
2015/03/13 PHP
PHP中Restful api 错误提示返回值实现思路
2016/04/12 PHP
PHP+JavaScript实现无刷新上传图片
2017/02/21 PHP
Laravel 修改验证异常的响应格式实例代码详解
2020/05/25 PHP
js实现的网站首页随机公告随机公告
2007/03/14 Javascript
js控制分页打印、打印分页示例
2014/02/08 Javascript
js图片预加载示例
2014/04/30 Javascript
node.js中的fs.realpath方法使用说明
2014/12/16 Javascript
Javascript中的方法链(Method Chaining)介绍
2015/03/15 Javascript
基于jQuery仿淘宝产品图片放大镜特效
2020/10/19 Javascript
jQuery实现简单隔行变色的方法
2016/02/20 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
2016/04/17 Javascript
动态更新highcharts数据的实现方法
2016/05/28 Javascript
使用Angular缓存父页面数据的方法
2017/01/03 Javascript
微信小程序实现的涂鸦功能示例【附源码下载】
2018/01/12 Javascript
灵活使用console让js调试更简单的方法步骤
2019/04/23 Javascript
Vue双向绑定实现原理与方法详解
2020/05/07 Javascript
python中的一些类型转换函数小结
2013/02/10 Python
Python生成器(Generator)详解
2015/04/13 Python
Python获取任意xml节点值的方法
2015/05/05 Python
使用pdb模块调试Python程序实例
2015/06/02 Python
Python Paramiko模块的安装与使用详解
2016/11/18 Python
Python入门学习指南分享
2018/04/11 Python
解决pandas使用read_csv()读取文件遇到的问题
2018/06/15 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
一家专门做特卖的网站:唯品会
2016/10/09 全球购物
泰国第一的化妆品网站:Konvy
2018/02/25 全球购物
优秀员工自荐信范文
2013/10/05 职场文书
幼儿园植树节活动总结
2014/07/04 职场文书
向国旗敬礼活动总结
2014/09/27 职场文书
出国留学单位推荐信
2015/03/26 职场文书
Pytorch中TensorBoard及torchsummary的使用详解
2021/05/12 Python
Python中else的三种使用场景
2021/06/16 Python
对讲机的最大通讯距离是多少
2022/02/18 无线电
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL