松软科技web课堂:JavaScript 布尔(逻辑)
JavaScript 布尔(逻辑)代表两个值之一:true 或 false。
布尔值
通常,在编程中,您会需要只能有两个值之一的数据类型,比如
- YES / NO
- ON / OFF
- TRUE / FALSE
鉴于此,JavaScript 提供一种布尔数据类型。它只接受值 true 或 false。
Boolean() 函数
您可以使用 Boolean() 函数来确定表达式(或变量)是否为真:
实例
Boolean(10 > 9) // 返回 true
或者甚至更简单:
实例
(10 > 9) // 也返回 true
10 > 9 // 也返回 true
比较和条件
JS 比较这一章列出了完整的比较运算符。
JS 条件这一章列出了完整的条件语句。
下面是一些例子:
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 | if (day == "Monday") |
> | 大于 | if (salary > 9000) |
< | 小于 | if (age < 18) |
表达式的布尔值是 JavaScript 比较和条件的基础。
所有具有“真实”值的即为 True
实例
100 3.14 -15 "Hello" "false" 7 + 1 + 3.14 5 < 6
所有不具有“真实”值的即为 False
所有不具有“真实”值的即为 False
0(零)的布尔值为 false: var x = 0;
Boolean(x); // 返回 false
-0 (负零)的布尔值为 false:
var x = -0;
Boolean(x); // 返回 false
""(空值)的布尔值为 false:
var x = -0;
Boolean(x); // 返回 false
undefined 的布尔值是 false:
var x;
Boolean(x); // 返回 false
null 的布尔值是 false:
var x = null;
Boolean(x); // 返回 false
false 的布尔值(正如您猜到的)是 false:
var x = null;
Boolean(x); // 返回 false
NaN 的布尔值是 false:
var x = 10 / "H";
Boolean(x); // 返回 false
布尔可以是对象
通常 JavaScript 布尔是由字面量创建的原始值:
var x = false
但是布尔也可以通过关键词 new 作为对象来定义:
var y = new Boolean(false)
实例
var x = false;
var y = new Boolean(false); // typeof x 返回 boolean
// typeof y 返回 object
不要创建布尔对象。它会拖慢执行速度。
new 关键词会使代码复杂化,并产生某些意想不到的结果:
当使用 == 运算符时,相等的布尔是相等的:
实例
var x = false;
var y = new Boolean(false); // (x == y) 为 true,因为 x 和 y 拥有相等的值
当使用 === 运算符时,相等的布尔是不相等的,因为 === 运算符需要在类型和值两方面同时相等。
实例
var x = false;
var y = new Boolean(false); // (x === y) 为 false,因为 x 和 y 的类型不同
或者甚至更糟。对象无法进行比较:
实例
var x = new Boolean(false);
var y = new Boolean(false); // (x == y) 为 false,因为对象无法比较
比较两个 JavaScript 对象将始终返回 false。
文章来源:www.sysoft.net.cn,加v:15844800162深度交流
松软科技web课堂:JavaScript 布尔(逻辑)的更多相关文章
- 松软科技web课堂:JavaScript 数据类型
字符串值,数值,布尔值,数组,对象. JavaScript 数据类型 JavaScript 变量能够保存多种数据类型:数值.字符串值.数组.对象等等: var length = 7; // 数字 va ...
- 松软科技Web课堂:JavaScript 类型转换
Number() 转换数值,String() 转换字符串,Boolean() 转换布尔值. JavaScript 数据类型 JavaScript 中有五种可包含值的数据类型: 字符串(string) ...
- 松软科技Web课堂:JavaScript JSON
JSON 是存储和传输数据的格式. JSON 经常在数据从服务器发送到网页时使用. 什么是 JSON? JSON 指的是 JavaScript Object Notation JSON 是轻量级的数据 ...
- 松软科技Web课堂:JavaScript 异常
JavaScript 错误 - Throw 和 Try to Catch try 语句使您能够测试代码块中的错误. catch 语句允许您处理错误. throw 语句允许您创建自定义错误. final ...
- 松软科技web课堂:JavaScript 比较和逻辑运算符
JavaScript 比较和逻辑运算符 比较和逻辑运算符用于测试 true 或 false. 比较运算符 比较运算符在逻辑语句中使用,以判定变量或值是否相等. 我们给定 x = 5,下表中解释了比较运 ...
- 松软科技Web课堂:JavaScript this 关键词
实例 var person = { firstName: "Bill", lastName : "Gates", id : 678, fullName : fu ...
- 松软科技Web课堂:JavaScript 正则表达式
正则表达式是构成搜索模式的字符序列. 该搜索模式可用于文本搜索和文本替换操作. 什么是正则表达式? 正则表达式是构成搜索模式(search pattern)的字符序列. 当您搜索文本中的数据时,您可使 ...
- 松软科技Web课堂:JavaScript Break 和 Continue
break 语句“跳出”循环. continue 语句“跳过”循环中的一个迭代. Break 语句 在本教程稍早的章节中,您已见到了 break 语句.它被用于“跳出” switch 语句. brea ...
- 松软科技Web课堂:JavaScript For 循环
循环可多次执行代码块. JavaScript 循环 假如您需要运行代码多次,且每次使用不同的值,那么循环(loop)相当方便使用. 通常我们会遇到使用数组的例子: 不需要这样写: text += ca ...
随机推荐
- 【Python3网络爬虫开发实战】6.4-分析Ajax爬取今日头条街拍美图【华为云技术分享】
[摘要] 本节中,我们以今日头条为例来尝试通过分析Ajax请求来抓取网页数据的方法.这次要抓取的目标是今日头条的街拍美图,抓取完成之后,将每组图片分文件夹下载到本地并保存下来. 1. 准备工作 在本节 ...
- 漫谈LiteOS之开发板-串口(基于GD32450i-EVAL)
[摘要] 主要讲解物联网的技术积累,本期我们先带领大家学习漫谈LiteOS之漫谈开发板第一集-串口,本文基于GD32450i-EVAL对串口以及其通信做了一个简要的分析,以及开发过程中遇到的一些技术 ...
- 联万物,+智能,为行业,华为云升级OceanConnect IoT全栈云服务
[中国,上海,2019年9月19日] 9月18日,在HUAWEI CONNECT 2019期间,华为云CTO张宇昕在华为云峰会上升级OceanConnect IoT全栈云服务,发布包括端.边.管.云. ...
- 实例详解——编译器命令#pragma section作用于函数时作用域是否覆盖到其子函数
在之前的博客[链接脚本(Linker Script)应用实例(一)使用copy table将函数载入到RAM中运行]中,我们第一步使用#pragma section命令将PFlashProgram函数 ...
- KETTLE单表同步,写入EXCEL和TXT
以下操作都在5.0.1版本下进行开发,其余版本可以进行自动比对 在平时工作当中,会遇到这种情况,而且很常见.比如:1.自动生成文件TXT或者EXCEL(电信行业该需求居多),上传至某服务器:2.双方数 ...
- JSP+Servlet 实现:理财产品信息管理系统
一.接业务,作分析 1.大致业务要求 1.1 使用 JSP+Servlet 实现理财产品信息管理系统,MySQL5.5 作为后台数据库,实现查看理财 和增加理财功能 1.2 查询页面效果图 1.3 添 ...
- Python3 并发编程1
目录 操作系统发展 穿孔卡片 批处理 多道技术(单核) 并发与并行 进程 程序与进程 进程调度 进程的三个状态 同步和异步 阻塞与非阻塞 僵尸进程与孤儿进程 守护进程 Python中的进程操作 Pro ...
- ES6,箭头函数 (=>)注意点
函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象. 不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误. 不可以使用arguments对象,该对象在函数体内不存 ...
- [Java并发] AQS抽象队列同步器源码解析--独占锁释放过程
[Java并发] AQS抽象队列同步器源码解析--独占锁获取过程 上一篇已经讲解了AQS独占锁的获取过程,接下来就是对AQS独占锁的释放过程进行详细的分析说明,废话不多说,直接进入正文... 锁释放入 ...
- go1.13 mod 实践和常见问题
实践建议 0,go mod 要求所有依赖的 import path 的path 以域名开头,如果现有项目转1.13的go mod 模式,且不是以域名开头则需要修改. eg: code.be.mingb ...