逻辑OR(||)妙用
逻辑OR
如果第一个操作数为真,第二个操作数就无需求值了。
子表达式值所有可能的组合 | 整体表达式的值 |
---|---|
false || false | false(0) |
false || true | true(1) |
true || false | true(1) |
true || true | true(1) |
console.log(true||true); //return true
console.log(true||false); //return true
console.log(false||true); //return true
console.log("Foo"||"Bar"); //Foo(true) AND Bar(true); return Foo
console.log(false||"Foo"); //false && Foo(true); return Foo
console.log("Foo"||false); //Foo(true) && false; return Foo
console.log(false||(1 == 2)); //false && false(1==2); return false
对于不是布尔值的情况则:
- 如果第一个操作数是对象,则返第一个操作数
- 如果第一个操作数的求值结果为false,则返回第二个操作数
- 如果两个操作数都是对象,则返回第一个操作数
- 如果两个操作数是null,则返回null
- 如果两个操作数是NaN,则返回NaN
- 如果两个操作数是undefined,则返回undefined
对于逻辑OR:
console.log(0 || "Foo"); //第一个操作数为假,返回第二个操作数
console.log("Foo" || "Bar"); //第一个操作数为真,则返回该操作数
console.log(0 || false); //第一个操作数为假,返回第二个操作数
经典用法
在Javascript中,最经典的OR的使用方法,为变量分配默认值(间接的减少代码出错率)
一个简单的demo:
function greeting(name){name = name || "John";console.log("Hello" + name);
}greeting("Mr.J"); //Hello Mr.J
greeting(); //Hello John
之前的文章也用过这个:Javascript设计模式(四)-- 建造者模式
逻辑OR(||)妙用相关推荐
- 四个职场规则!弄不懂会吃大亏
最近通读了<优秀到不能被忽视>这本书,发现这是一本颠覆传统职业定位逻辑的妙书,颇有感触,特意把书里的主要观点梳理了一下,加入一些个人解读,分享给大家. 这本书讲了可以创造幸福职场的四个规则 ...
- 淘宝新开店铺引流方法 5种常用店铺流量获取方法
淘宝流量5中分配方法: 最重要的就是搜索流量 淘宝促销活动流量 广告 大数据推荐流量 达人推荐 淘宝就像一个超市,我们想要提高店铺流量,重点就是要看淘宝这个超市是如何分配的,一切围绕它的分配规则展开, ...
- 八大Webkit内核浏览器
列举出时下最流行的Webkit内核浏览器,所以我们并不会做出评测和对比. PS:本文列举的浏览器有一部分为IE+Webkit双核浏览器,如果您对其他IE内核浏览器很感兴趣<抛弃数据!用体验和感觉 ...
- 一文“妙”解逻辑斯蒂回归(LR)算法
一.前言 在感知器算法中,如下图 如果我们使用一个f(z)=z函数,作为激励函数,那么该模型即为线性回归.而在逻辑斯蒂回归中,我们将会采用f(z)=sigmoid(z) 函数作为激励函数,所以它被称为 ...
- 请不要将抛出异常作为业务逻辑使用!!!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:myfor www.cnblogs.com/myfor/p/ ...
- RedHat Enterprise Linux 5.0之LVM逻辑卷管理
有关LVM的文章很多,小弟我竭尽全力的把LVM的流程化实验演示出来,还请高手指点 实验环境 1.RedHat Enterprise Linux 5.0 2.四块磁盘/dev/sdb----/dev/s ...
- IHttpHandler的妙用之防盗链
昨天粗略讲了一下IHttpHandler接口的作用和动态给图片添加水印的处理,如果对这些不太清除的朋友,建议看看这篇<IHttpHandler的妙用(1):给图片添加水印>:http:// ...
- IHttpHandler的妙用(2):防盗链!我的资源只有我的用户才能下载
昨天粗略讲了一下IHttpHandler接口的作用和动态给图片添加水印的处理,如果对这些不太清除的朋友,建议看看这篇<IHttpHandler的妙用(1):给图片添加水印>:http:// ...
- SQL Server开发人员应聘常见问题妙解
SQL Server开发人员应聘常见问题妙解 目前在职场中很难找到非常合格的数据库开发人员.我的一个同事曾经说过:"SQL开发是一门语言,它很容易学,但是很难掌握." 在面试应聘的 ...
最新文章
- 012_logback中的DBAppender
- mysql 导入sql脚本_mysql 导入 sql文件
- Windows Mobile系列手机操作系统
- java计算加减表达式_【Java】计算加减乘除数学公式(简单计算器)含小数
- SD卡读写扇区注意事项(转)
- 去哪儿-18-detail-list
- Python程序中各函数间调用关系分析与可视化
- 语言写贪吃蛇墙角符号_从零基础到拥抱人工智能,您的孩子可能就差一个贪吃蛇游戏...
- BrnShop开源网上商城第三讲:插件的工作机制
- Paragon NTFS 15Mac上NTFS分区的必备工具
- S/HIC 系列软件:diploS/HIC 利用 CNN 和非定向基因型数据识别 软/硬 清扫
- Greenplum数据库巡检报告
- 《黑白团团队》第九次团队作业:Beta冲刺第三天
- 修复升级ndk到17.0.4754217编译so失败问题
- 小米电视怎么看cctv?安装电视家教你锁定2022世界杯“观赛位”
- java密码框转字符串_实现汉字的凯撒密码(内容包括:去掉字符串中的转义字符、汉字的unicode转换)...
- 电脑技巧:Win7、Win10、Win11如何选择,看完你就懂了
- 公司域名邮箱如何注册?163公司邮箱注册好用吗?
- 镜头之滤光片---关于日夜两用双通滤光片
- jquery.validate.min.js 插件
热门文章
- 惊呆了!速度高达15000fps的人脸检测算法!
- 如何安装最新版本Pycharm2019
- CVPR2018 目标检测算法总览(最新的目标检测论文)
- 带你自学Python系列(五):Python解决列表字符不区分大小写问题
- android 动态申请权限_你真的了解Android权限机制吗?
- 大学计算机课感悟100字,停课不停学的心得100字 停课不停学的感想
- Windows support for hard disks that are larger than 2 TB
- 计算机网络上机作业,204计算机网络上机大作业.docx
- vscode 开发vue必备插件_vsCode开发vue项目必备插件
- JSTL (JSP标准标签库)