Javascript的&&和||的另类用法


Posted in Javascript onJuly 23, 2014

最近也没什么心思写文章了,感觉总有忙不完的事情,呵。 不过这些天又开始研究起 Titanium 来,发现其官方出品的MVC框架(Alloy)还是挺不错的,刚开始苦于没有好的代码来学习,文档又少,所以一直没去详细研究,后来发现原来官方的 CodeStrong 就是一套非常不错的学习代码,只要看通了其整套代码,相信对Alloy的使用也基本会了~

在看其源码的同时,发现很多地方使用了诸如以下的用法:

$.clouds && ($.index.add($.clouds));

开始不是很理解,毕竟平时这样用的也少,上了下google后才知道原来这样写法非常方便好用(其实jquery的源码里也大量使用此方法)。以下引用一段网上找到的解释&&和||在javascript中的另类用法:

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 相关文章推荐
对联广告js flash激活
Oct 19 Javascript
jquery 3D 标签云示例代码
Jun 12 Javascript
JavaScript插件化开发教程(五)
Feb 01 Javascript
jQuery结合HTML5制作的爱心树表白动画
Feb 01 Javascript
JQuery分屏指示器图片轮换效果实例
May 21 Javascript
基于jQuery实现放大镜特效
Oct 19 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
Feb 15 Javascript
jquery实现下拉菜单的手风琴效果
Jul 23 jQuery
用图片替换checkbox原始样式并实现同样的功能
Nov 15 Javascript
微信小程序中悬浮窗功能的实现代码
Aug 02 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
Jun 04 Javascript
通过实例解析JavaScript常用排序算法
Sep 02 Javascript
jQuery获取节点和子节点文本的方法
Jul 22 #Javascript
jQuery打印图片pdf、txt示例代码
Jul 22 #Javascript
JavaScript匿名函数与委托使用示例
Jul 22 #Javascript
javascript中声明函数的方法及调用函数的返回值
Jul 22 #Javascript
js判断变量初始化的三种形式及推荐用的形式
Jul 22 #Javascript
网站接入QQ登录的两种方法
Jul 22 #Javascript
防止登录页面出现在frame中js代码
Jul 22 #Javascript
You might like
德生1994机评
2021/03/02 无线电
php中使用$_REQUEST需要注意的一个问题
2013/05/02 PHP
php中如何防止表单的重复提交
2013/08/02 PHP
php获取301跳转URL简单实例
2013/12/16 PHP
php的sso单点登录实现方法
2015/01/08 PHP
PHP实现连接设备、通讯和发送命令的方法
2015/10/13 PHP
PHP翻页跳转功能实现方法
2020/11/30 PHP
PHP中的函数声明与使用详解
2017/05/27 PHP
Laravel框架模板继承操作示例
2018/06/11 PHP
JavaScript 页面编码与浏览器类型判断代码
2010/06/03 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
2012/12/10 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
判断在css加载完毕后执行后续代码示例
2014/09/03 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
jQuery链式调用与show知识浅析
2016/05/11 Javascript
jQuery按需加载轮播图(web前端性能优化)
2017/02/17 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
2017/03/19 Javascript
Ionic + Angular.js实现图片轮播的方法示例
2017/05/21 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
Javascript中的奇葩知识,你知道吗?
2021/01/25 Javascript
Python Web框架Flask中使用百度云存储BCS实例
2015/02/08 Python
Python selenium抓取微博内容的示例代码
2018/05/17 Python
Django框架使用富文本编辑器Uedit的方法分析
2018/07/31 Python
Python新手如何理解循环加载模块
2020/05/29 Python
html5 worker 实例(二) 图片变换效果
2013/06/24 HTML / CSS
亚洲最大旅游体验平台:KKday
2017/10/21 全球购物
测量工程专业求职信
2014/02/24 职场文书
房屋出售协议书
2014/04/10 职场文书
感恩的演讲稿
2014/05/06 职场文书
公司收款委托书范本
2014/09/20 职场文书
2014年销售部工作总结
2014/12/01 职场文书
六年级小学生评语
2014/12/26 职场文书
刑事法律意见书
2015/06/04 职场文书
教师廉政准则心得体会
2016/01/20 职场文书
学长教您写论文:经验总结
2019/07/09 职场文书
陶瓷类经典广告语集锦
2019/10/25 职场文书