JavaScript基础知识18——逻辑运算符之短路运算

哈喽,大家好,我是雷工。
本节学习JavaScript基础知识——逻辑运算符中的短路运算,以下为学习笔记。
规则
1、如果是&&运算,只要遇到false,就立即短路,不会再执行了,直接返回当前值;
示例:

let a =2,b=4,c=6;
console.log(a>b && b<c);//返回结果为:false;

逻辑运算中当有一个操作数不是布尔值的时候,逻辑运算不一定会返回一个布尔值。而是会遵循以下规则:
● 若前边的操作数隐式类型转换后为true,则返回后边的操作数。
示例:

console.log(2&&0);//返回结果为:0;
console.log(2 && 3);//返回结果为:3;
console.log(teue && 2 && "雷工笔记")//返回结果为:雷工笔记

● 若前边操作数隐式类型转换后是false,那么就返回首个隐式转换为false的值,即短路运算的值。
示例:

console.log(“”&&  1);//返回空格;
console.log(4 &&  0 && “雷工笔记”);//返回结果为:0;
console.log(“雷工笔记” &&  false && 0 );//返回结果为:false;
console.log(  0 &&  null &&“雷工笔记” );//返回结果为:0;
console.log(  NaN &&  3 &&“雷工笔记” );//返回结果为:NaN;
console.log(  null &&  true &&“雷工笔记” );//返回结果为:null;
console.log(  undefined &&  true &&“雷工笔记” );//返回结果为:undefined;

**提醒:**返回值不一定是布尔类型的值,是null则返回null;是NaN则返回NaN;是undefined则返回undefined;
在这里插入图片描述

2、如果是||运算,只要遇到true,立即短路,不会再执行了,直接返回当前值;如果都为false,则会依次进行判断,打印最后一个表达式。
示例:

console.log(1||3);//结果为:1;
console.log(0 || ‘’||3 );/返回/结果为:3;
console.log(0 || ‘’||3 || 4);//返回结果依然为:3;
console.log(undefined || null ||0);//返回结果为:0;
console.log(undefined || “雷工笔记” ||0);//返回结果为:雷工笔记;

提醒:与&&类似,返回值不一定是布尔类型的值。

3、如果逻辑运算符中既有且又有或,先计算且后计算或;
示例:

console.log(0 && 1 || 3);//结果为:3;
console.log("" || 0 && 3)  ;//结果为:0;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/106806.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

应用案例|基于高精度三维机器视觉引导机器人自动分拣包裹的应用

Part.1 行业背景 近年来&#xff0c;电商高速发展&#xff0c;百万件日订单处理的超大型分拣中心模式日益普及&#xff0c;传统的人工供包模式效率低&#xff0c;难以满足高超大分拣中心对分拣包裹的需求。随着科技的进步&#xff0c;自动供包系统进入大众视野&#xff0c;成为…

基于机器视觉的火车票识别系统 计算机竞赛

文章目录 0 前言1 课题意义课题难点&#xff1a; 2 实现方法2.1 图像预处理2.2 字符分割2.3 字符识别部分实现代码 3 实现效果最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于机器视觉的火车票识别系统 该项目较为新颖&#xff0c;适合作为竞赛…

反恐精英CS1.6forMac/win中文版:动作射击游戏的巅峰之作

的游戏爱好者们&#xff0c;今天我们要向大家推荐一款让人热血沸腾的第一人称动作射击游戏——反恐精英CS1.6&#xff01;这款游戏承载了无数玩家的童年记忆&#xff0c;更是射击游戏领域中的佼佼者。 一、还原度极高的场景与道具 反恐精英CS1.6在场景和道具的还原度上做到了极…

在Mac上安装MongoDB 5.0

MongoDB 5.0安装 1、环境描述 操作系统&#xff1a;macOS 14.0 (23A344) 2、安装MongoDB 2.1、tar解压包安装 下载地址&#xff1a;Download MongoDB Community Server | MongoDB 创建一个目录&#xff0c;以便数据库将文件放入其中。&#xff08;默认情况下&#xff0c;数据…

【axios】axios的基本使用

一、 Axios简介 1、 Axios是什么&#xff1f; Axios是一个基于promise的HTTP库&#xff0c;类似于jQuery的ajax&#xff0c;用于http请求。可以应用于浏览器端和node.js&#xff0c;既可以用于客户端&#xff0c;也可以用于node.js编写的服务端。 2.、Axios特性 支持Promis…

王道p149 7.二叉树按二叉链表形式存储,写一个判别给定二叉树是否是完全二叉树的算法(c语言代码实现)

采用层次遍历算法&#xff0c;将所有结点加入队列(包括空结点)。 如果没有左孩子&#xff0c;就看有没有右孩子&#xff0c;如果有右孩子&#xff0c;那么不为完全二叉树。 如果有左孩子&#xff0c;且之前不存在缺孩子的结点&#xff0c;左孩子进队&#xff0c;如果有右孩子…

零售数据分析模板分享(通用型)

零售数据来源多&#xff0c;数据量大&#xff0c;导致数据的清洗整理工作量大&#xff0c;由于零售的特殊性&#xff0c;其指标计算组合更是多变&#xff0c;进一步导致了零售数据分析工作量激增&#xff0c;往往很难及时分析数据&#xff0c;发现问题。那怎么办&#xff1f;可…

FL Studio21.2中文版多少钱?值得下载吗

水果&#xff0c;全称Fruity Loop Studio&#xff0c;简称FL Studio。是一款全能的音乐制作软件&#xff0c;经过二十多年的演化更迭&#xff0c;其各项功能非常的先进。其开创性的Pat\song模式&#xff0c;也为初学者的学习提供了便利。那么水果音乐制作软件需要多少钱呢&…

JAVA实现校园二手交易系统 开源

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 二手商品档案管理模块2.3 商品预约管理模块2.4 商品预定管理模块2.5 商品留言板管理模块2.6 商品资讯管理模块 三、实体类设计3.1 用户表3.2 二手商品表3.3 商品预约表3.4 商品预定表3.5 留言表3.6 资讯…

【0基础学Java第一课】-- 初始Java

目录 1. 初识java1.1 Java是什么1.2 Java应用领域1.3 Java语言发展简史1.4 Java语言特性1.5 JRE与JDK1.6 Java开发环境1.6.1 安装JDK1.6.2 配置环境变量 1.7 初始Java中main函数1.7.1 JDK、JRE、JVM之间的关系 1.8 注释1.9 标识符1.10 关键字 1. 初识java 1.1 Java是什么 Jav…

计算机操作系统重点概念整理-第二章 进程管理【期末复习|考研复习】

第二章 进程管理 【期末复习|考研复习】 计算机操作系统系列文章传送门&#xff1a; 第一章 计算机系统概述 第二章 进程管理 第三章 进程同步 第四章 内存管理 第五章 文件管理 第六章 输出输出I/O管理 文章目录 第二章 进程管理 【期末复习|考研复习】前言二、进程管理2.1进…

Leetcode—66.加一【简单】

2023每日刷题&#xff08;十一&#xff09; Leetcode—66.加一 实现代码1 /*** Note: The returned array must be malloced, assume caller calls free().*/ int* plusOne(int* digits, int digitsSize, int* returnSize){int num 0;int i 0;int arr[110] {0};// 进位标识…

Spring 更简单的读取和存储对象

引言 在上一章节中&#xff0c;我们通过设置配置文件的方式简单实现了 Spring 中 Bean 对象的存取&#xff0c;但是相比之下&#xff0c;每次进行对象的注册和获取还是相对麻烦的&#xff0c;那么有没有更简单优雅的方式呢&#xff1f;答案当然是有的&#xff1a;在 Spring 中…

如何分离一个要素的shp矢量文件:利用ArcGIS分割工具

下面介绍如何用ArcGIS对含有多个分离区域的一整个面要素进行分割 如下图&#xff0c;现在想要将下方的长形shp提取出来&#xff0c;首先打开shp文件&#xff1a; 右击空白处查看该矢量文件的投影信息&#xff1a; 在文件夹中新建shp文件&#xff0c;设置一样的投影&#xff1a…

MySQL数据库——视图的更新、视图作用以及案例

目录 视图的更新 介绍 示例 视图作用 案例 视图的更新 介绍 要使视图可更新&#xff0c;视图中的行与基础表中的行之间必须存在一对一的关系。 如果视图包含以下任何一项&#xff0c;则该视图不可更新&#xff1a; 聚合函数或窗口函数&#xff08;SUM()、MIN()、MAX()…

蓝桥杯 Java 青蛙过河

import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改/**二分法从大&#xff08;n&#xff09;到小找足够小的步长前缀和记录每个位置的前面有的总石头数&#xff08;一个石头表示可以容纳一个青蛙&#xff0c;一位置有多少个石头hi就是多少&#xff09;&…

【动态基础】从暴力递归到动态规划

C面经汇总 系列综述&#xff1a; 目的&#xff1a;本系列是个人整理为了秋招和实习面试的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡背诵量与深入程度。 来源&#xff1a;材料主要源于算法大神&#xff08;左程云&#xff09;教你从暴力递归到动态规划进行的&#xf…

文件上传预览下载

文件上传的表单必须满足三个条件: 1.表单组件标签只能用:<input type"file" value"xxx">会自动弹框让用户选择文件 2.请求方式只能用post 3.表单编码格式只能用:mutipart/form-data 根据HTTP协议规定,浏览器每次向后台提交参数,都会对参数进行统一…

【软件安装环境配置】vscode 安装界面没有出现安装路径的选择 的解决,以及vscode的删除的问题

由于vscode 没有删除干净&#xff0c;就会出现vscode 安装的时候&#xff0c;没有出现安装路径的界面&#xff0c;所以可以来到vscode的安装路径&#xff0c;点击 unins000.exe 文件就可以 实现将vscode 相关的文件删除&#xff0c; 如果是删除了整个vscode 安装下的文件&…

GPT做SQL查询引擎的自然语言

目录 面向企业查询的生成式人工智能 步骤1&#xff1a;将示例数据转换为单字符字符串 步骤2&#xff1a;为大型语言模型&#xff08;LM&#xff09;创建提示符 步骤3&#xff1a;将数据发送到OpenAI的API 步骤4&#xff1a;执行GPT返回的SQL代码的结果 步骤5(可选)&#…