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将从数据库中读取出来的日期型格式化为想要的类型。
Aug 15 Javascript
document.all的一个比较完整的总结及案例
Jan 31 Javascript
jquery实现加载等待效果示例
Sep 25 Javascript
javaScript 计算两个日期的天数相差(示例代码)
Dec 27 Javascript
javascript限制用户只能输汉字中文的方法
Nov 20 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
Jan 26 Javascript
关于vue.js v-bind 的一些理解和思考
Jun 06 Javascript
vue init webpack myproject构建项目 ip不能访问的解决方法
Mar 20 Javascript
学习jQuery中的noConflict()用法
Sep 28 jQuery
vue项目引入ts步骤(小结)
Oct 31 Javascript
基于node+websocket+html实现腾讯课堂聊天室聊天功能
Mar 04 Javascript
Vue性能优化的方法
Jul 30 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生成静态HTML速度快类库
2007/03/18 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
2016/12/19 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
js每次Title显示不同的名言
2008/09/25 Javascript
javascript replace()正则替换实现代码
2010/02/26 Javascript
AJAX分页的代码(后台asp.net)
2011/02/14 Javascript
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
window.open不被拦截的实现代码
2012/08/22 Javascript
用js实现trim()的解决办法
2013/04/16 Javascript
JS Replace()的高级使用方法介绍
2013/06/29 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
2014/06/05 Javascript
js判断登录与否并确定跳转页面的方法
2015/01/30 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
2015/07/18 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
avalon js实现仿微博拖动图片排序
2015/08/14 Javascript
学习javascript文件加载优化
2016/02/19 Javascript
angular2使用简单介绍
2016/03/01 Javascript
BootStrap实现手机端轮播图左右滑动事件
2016/10/13 Javascript
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
2020/04/04 jQuery
[03:02]辉夜杯主赛事第二日 每日之星
2015/12/27 DOTA
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
深入理解Python爬虫代理池服务
2018/02/28 Python
python读取文件名称生成list的方法
2018/04/27 Python
python使用pdfminer解析pdf文件的方法示例
2018/12/20 Python
Python matplotlib以日期为x轴作图代码实例
2019/11/22 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
Python实现封装打包自己写的代码,被python import
2020/07/12 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
综合内勤岗位职责
2014/04/14 职场文书
《画》教学反思
2014/04/14 职场文书
党员教师一句话承诺
2014/05/30 职场文书
免职通知
2015/04/23 职场文书
高一化学教学反思
2016/02/22 职场文书
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
2021/05/12 Python