JavaScript全栈Pre-Course
  • Introduction
  • 课程介绍
  • Start
    • 教学方法
    • 软件和工具
  • 基本技能
    • 如何提问
    • Markdown 使用
    • 如何写 blog
    • Git 的简单应用
    • GitHub Pages
    • 在Chrome DevTools中进行调试
  • JavaScript基础
    • 如何引用JavaScript
    • 变量
    • 数据类型
    • 数学运算符
    • 逻辑运算符
    • 条件分支结构
    • 循环结构
    • 字符串
    • 对象
    • 数组
    • 函数
    • DOM 介绍
  • 整洁代码
  • 初识Linux
Powered by GitBook
On this page
  • 本节学习目标
  • 本节内容
  • 逻辑与运算符(&&)
  • 逻辑或运算符(||)
  • 逻辑非运算符(!)
  • 谁是 true 谁是 false
  • 其他推荐资料:
  • 本节练习
  1. JavaScript基础

逻辑运算符

本节学习目标

  • 掌握&&,||,!逻辑运算符的运算规则

本节内容

逻辑与运算符(&&)

对两个表达式执行逻辑与运算(相当于英语中 and 的意思)

  • 语法: 运算结果 = 表达式1 && 表达式2

    • 运算结果可以是任何变量,这个变量相当于一个容器,将运算结果放在这个容器里面

    • and 是 与 并且 的意思,所以只有当 表达式1 和 表达式2 都是正确(也就是都为真 true )的时候,返回值才为 true ;

    • 用列表表示为:

运算结果

表达式1

表达式2

true

true

true

false

true

false

false

false

true

false

false

false

  • 从上面表格也可以看出来,当 表达式1 为 false 时,运算结果就为false(表达式2是什么就不用看了,相当于直接被忽略了),否则运算结果的值就跟 表达式2 的结果保持一致

  • 这种现象也叫做 短路运算

    想更深了解短路运算的童鞋欢迎自行Google哈

逻辑或运算符(||)

  • 语法: 运算结果 = 表达式1 || 表达式2

    • 运算结果可以是任何变量,这个变量相当于一个容器,将运算结果放在这个容器里面

    • or 是 或者 的意思,所以只要当 表达式1 和 表达式2 当中有一个表达式的返回值为 true ,运算结果就为 true;只有当两个表达式都是 false 的时候,运算结果才是 false

    • 用列表表示为:

运算结果

表达式1

表达式2

true

true

true

true

true

false

true

false

true

false

false

false

  • 从上面表格也可以看出来,只要表达式1 为 true 时,运算结果就为 true (可怜的表达式2,就这样被无情忽略了 - _ - );否则运算结果的值就跟表达式2的结果保持一致

  • 这种现象跟上面我们提过的逻辑与运算 && 是同一种现象,应该还记得吧,这种现象叫做 短路运算

逻辑非运算符(!)

对一个表达式执行逻辑求反操作

  • 语法: 运算结果 = !表达式

    • 运算结果的含义跟上面两种是一样的哈

    • 非是 不是 否定 的意思,所以结果跟表达式相反就好啦

      这里可以用很形象的说法来解释: 面对调皮的捣蛋鬼 妈妈们经常会笑着说一句: 让你往东你偏往西( ^ _ ^) 想起来《三国演义》的一句评语: 大奸似忠,大伪似真

    • 用列表表示为:

运算结果

表达式1

true

false

false

true

谁是 true 谁是 false

能够转换为 false 的表达式有:null , NaN , 0 , 空字符串("") , undefined

具体原因呢,现在不用深究哈

其他推荐资料:

本节练习

  • 写出下面逻辑表达式的结果:

    • "hello" && 88

    • null && 66

    • " " || 88

    • undefined || true

    • !" "

    • !8866

Previous数学运算符Next条件分支结构

Last updated 6 years ago

MDN参考资料