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插件写法笔记整理
Sep 06 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
Jan 14 Javascript
javascript读写json示例
Apr 11 Javascript
对比分析json及XML
Nov 28 Javascript
浅谈javascript中createElement事件
Dec 05 Javascript
JavaScript获取两个数组交集的方法
Jun 09 Javascript
Bootstrap面板学习使用
Feb 09 Javascript
Angular4 中内置指令的基本用法
Jul 31 Javascript
Vue入门之数据绑定(小结)
Jan 08 Javascript
详解Node.js模板引擎Jade入门
Jan 19 Javascript
在vue里面设置全局变量或数据的方法
Mar 09 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
Jan 18 jQuery
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的CMS中展示文章类实例分析
2015/06/18 PHP
微信获取用户地理位置信息的原理与步骤
2015/11/12 PHP
详谈phpAdmin修改密码后拒绝访问的问题
2017/04/03 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
ext监听事件方法[初级篇]
2008/04/27 Javascript
JQuery读取XML文件数据并显示的实现代码
2009/12/16 Javascript
jquery 选取方法都有哪些
2014/05/18 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
2015/11/04 Javascript
详解如何较好的使用js
2016/12/16 Javascript
20行js代码实现的贪吃蛇小游戏
2017/06/20 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
你或许不知道的一些npm实用技巧
2019/07/04 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
用vue设计一个日历表
2020/12/03 Vue.js
python获取Pandas列名的几种方法
2019/08/07 Python
python3使用print打印带颜色的字符串代码实例
2019/08/22 Python
Python使用random模块生成随机数操作实例详解
2019/09/17 Python
Python 面向对象之封装、继承、多态操作实例分析
2019/11/21 Python
使用python matplotlib 画图导入到word中如何保证分辨率
2020/04/16 Python
CSS3 清除浮动的方法示例
2018/06/01 HTML / CSS
英国第二大营养品供应商:Vitabiotics
2016/10/01 全球购物
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
运动会领导邀请函
2014/01/10 职场文书
小学新学期教师寄语
2014/01/18 职场文书
求职信的七个关键技巧
2014/02/05 职场文书
交通事故和解协议书
2014/09/25 职场文书
先进典型事迹材料
2014/12/29 职场文书
幼儿教师辞职信
2015/02/27 职场文书
2015年初中生自我评价范文
2015/03/03 职场文书
工作会议简报
2015/07/20 职场文书
2016年教师党员创先争优承诺书
2016/03/24 职场文书
Python实战之实现简易的学生选课系统
2021/05/25 Python