逻辑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

对于不是布尔值的情况则:

  1. 如果第一个操作数是对象,则返第一个操作数
  2. 如果第一个操作数的求值结果为false,则返回第二个操作数
  3. 如果两个操作数都是对象,则返回第一个操作数
  4. 如果两个操作数是null,则返回null
  5. 如果两个操作数是NaN,则返回NaN
  6. 如果两个操作数是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(||)妙用相关推荐

  1. 四个职场规则!弄不懂会吃大亏

    最近通读了<优秀到不能被忽视>这本书,发现这是一本颠覆传统职业定位逻辑的妙书,颇有感触,特意把书里的主要观点梳理了一下,加入一些个人解读,分享给大家. 这本书讲了可以创造幸福职场的四个规则 ...

  2. 淘宝新开店铺引流方法 5种常用店铺流量获取方法

    淘宝流量5中分配方法: 最重要的就是搜索流量 淘宝促销活动流量 广告 大数据推荐流量 达人推荐 淘宝就像一个超市,我们想要提高店铺流量,重点就是要看淘宝这个超市是如何分配的,一切围绕它的分配规则展开, ...

  3. 八大Webkit内核浏览器

    列举出时下最流行的Webkit内核浏览器,所以我们并不会做出评测和对比. PS:本文列举的浏览器有一部分为IE+Webkit双核浏览器,如果您对其他IE内核浏览器很感兴趣<抛弃数据!用体验和感觉 ...

  4. 一文“妙”解逻辑斯蒂回归(LR)算法

    一.前言 在感知器算法中,如下图 如果我们使用一个f(z)=z函数,作为激励函数,那么该模型即为线性回归.而在逻辑斯蒂回归中,我们将会采用f(z)=sigmoid(z) 函数作为激励函数,所以它被称为 ...

  5. 请不要将抛出异常作为业务逻辑使用!!!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:myfor www.cnblogs.com/myfor/p/ ...

  6. RedHat Enterprise Linux 5.0之LVM逻辑卷管理

    有关LVM的文章很多,小弟我竭尽全力的把LVM的流程化实验演示出来,还请高手指点 实验环境 1.RedHat Enterprise Linux 5.0 2.四块磁盘/dev/sdb----/dev/s ...

  7. IHttpHandler的妙用之防盗链

    昨天粗略讲了一下IHttpHandler接口的作用和动态给图片添加水印的处理,如果对这些不太清除的朋友,建议看看这篇<IHttpHandler的妙用(1):给图片添加水印>:http:// ...

  8. IHttpHandler的妙用(2):防盗链!我的资源只有我的用户才能下载

    昨天粗略讲了一下IHttpHandler接口的作用和动态给图片添加水印的处理,如果对这些不太清除的朋友,建议看看这篇<IHttpHandler的妙用(1):给图片添加水印>:http:// ...

  9. SQL Server开发人员应聘常见问题妙解

    SQL Server开发人员应聘常见问题妙解 目前在职场中很难找到非常合格的数据库开发人员.我的一个同事曾经说过:"SQL开发是一门语言,它很容易学,但是很难掌握." 在面试应聘的 ...

最新文章

  1. 012_logback中的DBAppender
  2. mysql 导入sql脚本_mysql 导入 sql文件
  3. Windows Mobile系列手机操作系统
  4. java计算加减表达式_【Java】计算加减乘除数学公式(简单计算器)含小数
  5. SD卡读写扇区注意事项(转)
  6. 去哪儿-18-detail-list
  7. Python程序中各函数间调用关系分析与可视化
  8. 语言写贪吃蛇墙角符号_从零基础到拥抱人工智能,您的孩子可能就差一个贪吃蛇游戏...
  9. BrnShop开源网上商城第三讲:插件的工作机制
  10. Paragon NTFS 15Mac上NTFS分区的必备工具
  11. S/HIC 系列软件:diploS/HIC 利用 CNN 和非定向基因型数据识别 软/硬 清扫
  12. Greenplum数据库巡检报告
  13. 《黑白团团队》第九次团队作业:Beta冲刺第三天
  14. 修复升级ndk到17.0.4754217编译so失败问题
  15. 小米电视怎么看cctv?安装电视家教你锁定2022世界杯“观赛位”
  16. java密码框转字符串_实现汉字的凯撒密码(内容包括:去掉字符串中的转义字符、汉字的unicode转换)...
  17. 电脑技巧:Win7、Win10、Win11如何选择,看完你就懂了
  18. 公司域名邮箱如何注册?163公司邮箱注册好用吗?
  19. 镜头之滤光片---关于日夜两用双通滤光片
  20. jquery.validate.min.js 插件

热门文章

  1. 惊呆了!速度高达15000fps的人脸检测算法!
  2. 如何安装最新版本Pycharm2019
  3. CVPR2018 目标检测算法总览(最新的目标检测论文)
  4. 带你自学Python系列(五):Python解决列表字符不区分大小写问题
  5. android 动态申请权限_你真的了解Android权限机制吗?
  6. 大学计算机课感悟100字,停课不停学的心得100字 停课不停学的感想
  7. Windows support for hard disks that are larger than 2 TB
  8. 计算机网络上机作业,204计算机网络上机大作业.docx
  9. vscode 开发vue必备插件_vsCode开发vue项目必备插件
  10. JSTL (JSP标准标签库)