js中的布尔运算符使用介绍


Posted in Javascript onNovember 20, 2013

在之前我们讨论到布尔运算符 && 和 || 的时候,我说过它们的结果是布尔值。这样说起来有点过于简单化了。如果你用它们来计算布尔数据类型,它们确实会返回布尔值。但是它们也能用于计算其他的类型的数据,这种时候,返回的就将是其中的一个参数了。

或运算符“||” 真正做的事是这样的:它首先检查一下它左边的参数,如果转换成布尔类型的值后为true,那么就返回左边的参数,否则就返回右边的参数。 仔细想想当运算符两边都是布尔类型的值的时候,是不是这样的。为什么它这样运行?这样运行的结果其实非常实用。我们来看这个例子:

var input = prompt("What is your name?", "Kilgore Trout"); 
alert("Well hello " + (input || "dear"));

如果用户按“取消”或者直接关掉prompt对话框,input的值将是null或者“”。这两种情况下,转换成布尔类型的值都是false。那么这时候 input || “dear” 这个表达式的意思就是input有值的时候就得到input的值,否则就得到“dear”。这是一个很简单的提供一个默认值的方法。

与运算符 “&&” 的工作原理类似,但是与 “||” 正好相反。当它左边的参数转换成布尔类型的值为“false”的时候,它就返回那个值,否则返回右边的值。这两个操作符还有一个特点就是,只有在必要的时候,才会计算它右边的表达式的值。在“true || X” 这个表达式中,不管X是什么,结果都是true,所以X就不会被计算,如果X有其他的效果,那这个效果也不会产生。“false && X” 也是同样的道理。

false || alert("I'm happening!"); 
true || alert("Not me.");
Javascript 相关文章推荐
javascript indexOf函数使用说明
Jul 03 Javascript
js实现双向链表互联网机顶盒实战应用实现
Oct 28 Javascript
ajax处理php返回json数据的实例代码
Jan 24 Javascript
js实现按Ctrl+Enter发送效果
Sep 18 Javascript
聊一聊JS中this的指向问题
Jun 17 Javascript
jquery心形点赞关注效果的简单实现
Nov 14 Javascript
Angular实现点击按钮后在上方显示输入内容的方法
Dec 27 Javascript
webpack将js打包后的map文件详解
Feb 22 Javascript
学习React中ref的两个demo示例
Aug 14 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
Sep 25 Javascript
解决vue自定义全局消息框组件问题
Nov 22 Javascript
JS实现吸顶特效
Jan 08 Javascript
浅析hasOwnProperty方法的应用
Nov 20 #Javascript
鼠标滚轮改变图片大小的示例代码
Nov 20 #Javascript
JS画线(实例代码)
Nov 20 #Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
Nov 20 #Javascript
JS事件在IE与FF中的区别详细解析
Nov 20 #Javascript
引用 js在IE与FF之间的区别详细解析
Nov 20 #Javascript
JavaScript之IE的fireEvent方法详细解析
Nov 20 #Javascript
You might like
改进的IP计数器
2006/10/09 PHP
PHP开发Apache服务器配置
2015/07/15 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
2017/03/09 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
jQuery 事件队列调整方法
2009/09/18 Javascript
ExtJS下grid的一些属性说明
2009/12/13 Javascript
jquery.qrcode在线生成二维码使用示例
2013/08/21 Javascript
使用非html5实现js板连连看游戏示例代码
2013/09/22 Javascript
JS表的模拟方法
2015/02/05 Javascript
javascript三元运算符用法实例
2015/04/16 Javascript
javascript连续赋值问题
2015/07/08 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
javascript html5实现表单验证
2016/03/01 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
2016/03/09 Javascript
jQuery解析返回的xml和json方法详解
2017/01/05 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
JavaScript实现图片懒加载的方法分析
2018/07/05 Javascript
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
2019/05/03 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
2020/09/07 Javascript
python简单实现刷新智联简历
2016/03/30 Python
python 捕获 shell/bash 脚本的输出结果实例
2017/01/04 Python
python实现聚类算法原理
2018/02/12 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
Python编程学习之如何判断3个数的大小
2019/08/07 Python
python 基于dlib库的人脸检测的实现
2019/11/08 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
英国家居用品和家居装饰品购物网站:Cox & Cox
2019/08/25 全球购物
Bed Bath & Beyond加拿大官网:购买床上用品、浴巾、厨房电器等
2019/10/04 全球购物
自学考试自我鉴定范文
2013/09/26 职场文书
《乡愁》教学反思
2014/02/18 职场文书
质量提升方案
2014/06/16 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
保密工作整改报告
2014/11/06 职场文书
具结保证书
2015/01/17 职场文书
环保建议书范文
2015/09/14 职场文书
销区经理年终述职报告模板
2019/11/28 职场文书