JavaScript【关系与逻辑运算符】

news2024/12/23 10:12:40

关系运算符

关系运算符用于比较两个值之间的关系,并根据比较结果返回布尔值(true或false) 

源码

relation-operator

    <script>
        //关系运算符 > < >= <= == != === !==
        //根据运算符两边值的关系返回true正确或false错误
        console.log(1>2); //false
        console.log(2<1); //false
        console.log(3>=3); //true
        var a = 4 ;
        console.log(a>=5); //false
        console.log(a==4); //true
        console.log(a!=4); //false
        console.log(a=="4"); //true
        // == 相等,模糊匹配类型,匹配数值
        // === 全等,进行数值判断时,精确匹配类型
        console.log(a==='4'); //false
        console.log(a!=="4"); //true
    </script>

控制台结果 

c308c6e5105f43c4ae5c17a77c6e3042.png

关系运算符实例

  1. console.log(1>2); //false:这是一个比较操作,检查数字1是否大于数字2。由于1小于2,所以结果是false。

  2. console.log(2<1); //false:这里比较的是数字2是否小于数字1。因为2大于1,所以结果是false。

  3. console.log(3>=3); //true:这个操作检查数字3是否大于或等于它自己。因为3等于3,所以结果是true。

  4. var a = 4 ;:这行代码声明了一个变量a并将其初始化为数字4。

  5. console.log(a>=5); //false:检查变量a(值为4)是否大于或等于5。因为4小于5,所以结果是false。

  6. console.log(a==4); //true:这里使用等号(==)检查变量a的值是否等于数字4。由于它们相等,结果是true。

  7. console.log(a!=4); //false:使用不等于(!=)检查a的值是否不等于4。因为它们相等,所以结果是false。

  8. console.log(a=="4"); //true:这个操作使用等号(==)进行类型不安全的比较,检查变量a的值是否等于字符串"4"。在JavaScript中,当使用==进行比较时,会进行类型转换,数字4会被转换成字符串"4",因此比较结果是true。

  9. console.log(a==='4'); //false:使用严格等于(===)进行比较,检查a的值是否严格等于字符串"4"。由于严格等于不会进行类型转换,而a是一个数字,所以结果是false。

  10. console.log(a!=="4"); //true:使用严格不等于(!==)检查a的值是否严格不等于字符串"4"。由于类型不同,所以结果是true。

逻辑运算符

关系运算符用于比较两个表达式之间的关系,并根据优先级进行结果的比较,从而返回布尔值(true或false) 

源码

logic-operator

    <script>
        var a = 5 ;
        // &&:并且,运算符两边条件均满足返回true反之则为false
        console.log(a>3 && a<=5); //true
        console.log(a>3 && a==10);  //false
        // ||:或者,运算符两边条件只需要满足一个就返回true,都不满足返回false
        console.log(a>10 || a===5); //true
        console.log(a<1 || a>10); //false
        //逻辑与&&,逻辑或||,连用
        console.log(a==5 || a > 10 && a < 10); //true
        // 将此表达式分为两个部分【a==5】【a>10 && a<10】两个部分只需一个表达式成立,即返回true
        //逻辑非!:对表达式结果进行取反
        console.log(!a==5);//原结果为true加上逻辑非为false


    </script>

控制台结果

ebf9971a9a1e48b18334fe086f0a799c.png

 逻辑运算符实例

  1. console.log(a>3 && a<=5); //true 这个表达式使用了逻辑与 &&。变量 a 的值是5,它大于3且小于等于5,所以两个条件都满足,返回 true

  2. console.log(a>3 && a==10); //false 同样使用逻辑与 &&。虽然 a 大于3,但 a 不等于10,因此至少有一个条件不满足,返回 false

  3. console.log(a>10 || a===5); //true 这个表达式使用了逻辑或 ||。变量 a 的值是5,它不大于10,但等于5,因此至少有一个条件满足,返回 true

  4. console.log(a<1 || a>10); //false 使用逻辑或 ||。变量 a 的值是5,既不小于1也不大于10,所以两个条件都不满足,返回 false

  5. console.log(a==5 || a > 10 && a < 10); //true 这个表达式结合了逻辑或 || 和逻辑与 &&。由于 a 等于5,第一个条件 a==5 已经满足,所以整个表达式返回 true。即使第二个条件 a > 10 && a < 10 是矛盾的(不可能同时大于10且小于10),但因为第一个条件已经满足,所以整个表达式的结果为 true

  6. console.log(!a==5); //原结果为true加上逻辑非为false 这个表达式使用了逻辑非 !。首先,a 的值是5,所以 a 是一个真值。逻辑非 !a 的真值取反,变为 false。然后,false 被隐式地转换为数字0,接着与数字5进行比较。由于0不等于5,所以表达式的结果是 false

 

JS运算符运算顺序

JavaScript中,判断运算顺序主要依赖于以下几个方面:

  1. 运算符优先级:JavaScript有一套固定的运算符优先级规则,决定了在没有括号的情况下,哪些运算会先执行。例如,乘法和除法的优先级高于加法和减法。

  2. 括号:括号内的运算总是最先执行。使用括号可以改变默认的运算顺序,确保先计算你希望优先计算的部分。

  3. 逻辑运算符:逻辑运算符 && (逻辑与) 和 || (逻辑或) 也有不同的优先级。&& 的优先级高于 ||

  4. 组合运算符:JavaScript提供了组合赋值运算符,如 +=-= 等,这些运算符的优先级低于单独的加减乘除。

JavaScript中运算符优先级,从高到低排列:

  • * / % 乘法、除法和取余
  • + - 加法和减法
  • << >> >>> 位移运算符
  • < <= > >= 比较运算符
  • == != === !== 相等和全等运算符
  • !逻辑或
  • && 逻辑与
  • || 逻辑或

实例讲解

// 例子1
console.log(2 + 3 * 4); // 14
// 解释:乘法优先级高于加法,所以先计算3 * 4,然后结果与2相加。

// 例子2
console.log(2 + (3 * 4)); // 14
// 解释:括号内的运算最先执行,与例子1相同。

// 例子3
console.log(2 > 1 && 4 < 5); // true
// 解释:逻辑与 `&&` 的优先级高于比较运算符,所以先执行两个比较,然后进行逻辑与运算。

// 例子4
console.log(2 > 1 || 4 < 5 && 6 > 3); // true
// 解释:逻辑与 `&&` 的优先级高于逻辑或 `||`,所以先计算 4 < 5 && 6 > 3,然后结果与 2 > 1 进行逻辑或运算。

// 例子5
console.log(a = 10, a == 10); // 10 true
// 解释:赋值运算符的优先级较低,所以先执行赋值操作 a = 10,然后比较 a 是否等于10。

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQLite轻量级会话扩展(三十四)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite R*Tree 模块&#xff08;三十三&#xff09; 下一篇&#xff1a;SQLite—系列文章目录 1. 引言 会话扩展提供了一种方便记录的机制 对 SQLite 数据库中某些表的部分或全部更改&#xff0c;以及 将这些…

[阅读笔记18][CITING]LARGE LANGUAGE MODELS CREATE CURRICULUM FOR INSTRUCTION TUNING

这篇论文是23年10月提交到arxiv上的&#xff0c;也是用大模型蒸馏小模型的思路。 作者在这篇论文中提出了课程指令微调&#xff0c;大体流程如下图所示&#xff0c;教师模型给出一个问题&#xff0c;让学生模型回答一下&#xff0c;这时候学生回答大概率不够准确&#xff0c;这…

4.2冰达机器人:视觉实例-机器人视觉循线、视觉实例-调整循线颜色

4.2.10a视觉实例-机器人视觉循线 本节内容演示一个机器人视觉的视觉循线实例 准备工作&#xff1a;布置一块区域作为循线场所&#xff0c;如下图所示。用蓝色胶带在地面贴一条路线&#xff08;机器人极限转弯半径0.5m&#xff0c;不要贴得过于曲折&#xff09;&#xff0c;将…

MINIO安装的方法(WindowsLiunx)

2 minio安装教程 注&#xff1a;官方中文文档&#xff1a;MinIO对象存储 Windows — MinIO中文文档 | MinIO Windows中文文档 Liunx 安装方&#xff1a;MinIO对象存储 Linux — MinIO中文文档 | MinIO Linux中文文档 2.1 下载地址 https://dl.min.io/server/minio/…

vlan 和 trunk实验

VLAN&#xff08;Virtual Local Area Network&#xff09;&#xff0c;即虚拟局域网&#xff0c;是一种网络技术&#xff0c;它的主要原理是将物理网络划分为多个逻辑子网&#xff0c;每个子网形成一个独立的广播域。这样&#xff0c;VLAN内的主机间通信就像在同一个局域网内一…

第二届 Oceanbase 开发者大会 实录

第二届 Oceanbase 开发者大会 实录 今天很有幸参加了Oceanbase 开发者大会&#xff0c;我是真的我一开始还不知道什么是Oceanbase &#xff0c;直到我开了会才知道。看来真的需要多参加一些这样活动。 会议议程 我们科普一下什么是Oceanbase OceanBase 是阿里巴巴集团推出…

Junit 高级-ApiHug准备-测试篇-011

&#x1f917; ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱&#xff0c;有温度&#xff0c;有质量&#xff0c;有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace 涉及到 …

MYSQL之增删改查(下)

前言&#xff1a; 以下是MySQL最基本的增删改查语句&#xff0c;很多IT工作者都必须要会的命令&#xff0c;也 是IT行业面试最常考的知识点&#xff0c;由于是入门级基础命令&#xff0c;所有所有操作都建立在单表 上&#xff0c;未涉及多表操作。 4.3 高级查询 4.3.1 聚合函…

【python】使用python和selenium实现某平台自动化上传作品的全步骤

第一&#xff0c;我们需要下载python并安装 下载地址&#xff1a;https://www.python.org/downloads/release/python-3123/ 3.x版本的python自带pip工具&#xff0c;因此不需要额外下载。 ModuleNotFoundError: No module named seleniumpip用于下载python适用的各类模块&…

最小化横穿北达科他州的直排轮滑补水次数

最小化横穿北达科他州的直排轮滑补水次数 问题定义算法设计伪代码C代码示例策略的正确性和运行时间分析结论 问题定义 Gekko教授计划使用直排轮滑从明尼苏达州东部边境的大福克斯市出发&#xff0c;横穿北达科他州&#xff0c;抵达靠近蒙大拿州西部边境的威利斯顿市。他计划携…

24华中杯ABC题更新完成,B题将提供论文参考,AC题将在下午完成论文

以下内容&#xff0c;将在文章最后放置链接 2024华中杯A题12页思路数据可执行代码参考论文https://mbd.pub/o/bread/ZZ6am5dw 2024华中杯B题24页思路数据可执行代码参考论文https://mbd.pub/o/bread/ZZ6am5hp 2024华中杯C题10页思路数据可执行代码参考论文https://mbd.pub/o/br…

Nginx part2.1

目录 搭建目录网页 为网页设置用户登录 做一个文件目录网页&#xff0c;并进行登陆 示范 搭建目录网页 启动nginx&#xff1a; systemctl start nginx 开机自启动nginx&#xff1a; systemctl enable nginx 启动完服务后&#xff0c;查看自己的nginx的状态&#xff1a;sys…

volatility内存取证

记录一道volatility内存取证的题目&#xff0c;第一次遇到&#xff0c;现场把环境搞出来&#xff0c;现记录一些操作指令。 一、安装volatility3 1、新建一个kali虚拟机 新建的过程不再赘述。 2、下载volatility3 GitHub - volatilityfoundation/volatility3: Volatility …

基于Springboot的职称评审管理系统

基于SpringbootVue的获取源码 联系方式 &#x1f447;&#x1f3fb;的设计与实现 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringbootMybatis工具&#xff1a;IDEA、Maven、Navicat 系统展示 用户登录 首页 评审条件 论坛信息 系统公告 后台登录…

CTFshow-PWN-前置基础(pwn26-pwn31)

目录 1、pwn26 2、pwn27 3、pwn28 4、pwn29 5、pwn30 6、pwn31 1、pwn26 设置好 ASLR 保护参数值即可获得flag 首先我们需要知道什么是 ASLR&#xff1f; ASLR&#xff08;Address Space Layout Randomization&#xff09;是一种操作系统级别的安全功能&#xff0c;它通…

【VSLAM】VINO-Mono安装部署与运行

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍VINO-Mono安装部署与运行。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次更新不迷…

数学建模--非线性规划模型+MATLAB代码保姆式解析

目录 1.简单介绍 2.求解方法 3.适用赛题 4.典型例题及相关分析 &#xff08;1&#xff09;问题引入 &#xff08;2&#xff09;决策变量&约束条件 &#xff08;3&#xff09;确定目标函数 &#xff08;4&#xff09;建立数学模型 5.MATLAB代码祝逐字句讲解 1.简单…

什么是AIoT?

什么是AIoT? AIoT&#xff0c;即人工智能物联网&#xff0c;是一种将人工智能&#xff08;AI&#xff09;技术与物联网&#xff08;IoT&#xff09;相结合的新型应用形态。它不仅实现了设备之间的互联互通&#xff0c;还赋予了它们更智能化的特性。AIoT的核心在于通过AI的数据…

Ubuntu 系统安装 VS Code 并配置 C++ 环境

Linux 系列教程&#xff1a; VMware 安装配置 Ubuntu&#xff08;最新版、超详细&#xff09;FinalShell 远程连接 Linux&#xff08;Ubuntu&#xff09;系统Ubuntu 系统安装 VS Code 并配置 C 环境 ➡️➡️ ➡️VS Code 官方教程&#xff1a;Using C on Linux in VS Code&…

掌握字幕艺术:pysrt 库指南

文章目录 掌握字幕艺术&#xff1a;pysrt 库指南第一部分&#xff1a;背景介绍第二部分&#xff1a;库是什么&#xff1f;第三部分&#xff1a;如何安装这个库&#xff1f;第四部分&#xff1a;库函数使用方法第五部分&#xff1a;场景应用第六部分&#xff1a;常见Bug及解决方…