6.JavaScript中赋值运算符,自增运算符,比较运算符,逻辑运算符

赋值运算符

就是简单的加减乘除,没啥可说的这里直接上代码比较好

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        
    </body>

    <script>
        // 等号(=)
        let x = 5;
        console.log(x); // 输出: 5

        // 加等于(+=)
        let y = 10;
        y += 2;
        console.log(y); // 输出: 12

        // 减等于(-=)
        let z = 8;
        z -= 3;
        console.log(z); // 输出: 5

        // 乘等于(*=)
        let a = 6;
        a *= 4;
        console.log(a); // 输出: 24

        // 除等于(/=)
        let b = 12;
        b /= 3;
        console.log(b); // 输出: 4

        // 取余等于(%=)
        let c = 7;
        c %= 2;
        console.log(c); // 输出: 1

    </script>
</html>

结果:
在这里插入图片描述

一元运算符

简单的就是加减号+,-,注意这里有++ 和–如果++在变量之前那就是先加1在参与运算,++在变量之后那就是先参与运算在加1
直接上代码

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        
    </body>

    <script>
        let num1 = 5;
        let num2 = 10;
        
        // 前缀形式:先进行加1操作,然后参与运算
        let result1 = ++num1 + num2;
        console.log("前缀形式结果:" + result1); // 输出: 16 (5+1+10)
        
        // 后缀形式:先参与运算,然后加1给变量
        let result2 = num1++ + num2;
        console.log("后缀形式结果:" + result2); // 输出: 16 (5+10, num1变为6)
        
        console.log("最终num1的值:" + num1); // 输出: 6 (由于后缀形式,此时num1已经变为6)
        
    </script>
</html>

结果
在这里插入图片描述

比较运算符

  1. 相等运算符(==):比较两个值是否相等,如果相等则返回true,否则返回false。在进行比较时会进行隐式类型转换。
  2. 全等运算符(===):比较两个值是否严格相等,即不仅比较值还比较数据类型,如果相等则返回true,否则返回false。不进行隐式类型转换。
  3. 不相等运算符(!=):比较两个值是否不相等,如果不相等则返回true,否则返回false。在进行比较时会进行隐式类型转换。
  4. 不全等运算符(!==):比较两个值是否不严格相等,如果不相等则返回true,否则返回false。不进行隐式类型转换。
  5. 大于运算符(>):比较左侧的值是否大于右侧的值,如果是则返回true,否则返回false。在进行比较时会进行隐式类型转换。
  6. 大于等于运算符(>=):比较左侧的值是否大于或等于右侧的值,如果是则返回true,否则返回false。在进行比较时会进行隐式类型转换。
  7. 小于运算符(<):比较左侧的值是否小于右侧的值,如果是则返回true,否则返回false。在进行比较时会进行隐式类型转换。
  8. 小于等于运算符(<=):比较左侧的值是否小于或等于右侧的值,如果是则返回true,否则返回false。在进行比较时会进行隐式类型转换。
  9. 字符串比较:当使用大于或小于运算符比较字符串时,实际上比较的是字符串的 Unicode 编码值。例如,“a” > “A” 的结果为true,因为字符"a"的 Unicode 编码值比字符"A"的 Unicode 编码值大。
    上代码:
<!DOCTYPE html>
<html>
<head>
  <title>比较运算符示例</title>
</head>
<body>
  <script>
    let num1 = 5;
    let num2 = "5";
    let str1 = "hello";
    let str2 = "world";

    // 相等运算符(==)
    console.log(num1 == num2); // 输出: true,由于隐式类型转换,字符串"5"会被转换成数字5
    console.log(num1 == "5"); // 输出: true,由于隐式类型转换,字符串"5"会被转换成数字5
    console.log(str1 == str2); // 输出: false
    console.log(str1 == "hello"); // 输出: true

    // 全等运算符(===)
    console.log(num1 === num2); // 输出: false,由于数据类型不同
    console.log(num1 === "5"); // 输出: false,由于数据类型不同
    console.log(str1 === str2); // 输出: false
    console.log(str1 === "hello"); // 输出: true

    // 不相等运算符(!=)
    console.log(num1 != num2); // 输出: false,由于隐式类型转换,字符串"5"会被转换成数字5
    console.log(num1 != "5"); // 输出: false,由于隐式类型转换,字符串"5"会被转换成数字5
    console.log(str1 != str2); // 输出: true
    console.log(str1 != "hello"); // 输出: false

    // 不全等运算符(!==)
    console.log(num1 !== num2); // 输出: true,由于数据类型不同
    console.log(num1 !== "5"); // 输出: true,由于数据类型不同
    console.log(str1 !== str2); // 输出: true
    console.log(str1 !== "hello"); // 输出: false

    // 大于运算符(>)
    console.log(num1 > num2); // 输出: false,由于隐式类型转换,字符串"5"会被转换成数字5
    console.log(num1 > "3"); // 输出: true,由于隐式类型转换,字符串"3"会被转换成数字3
    console.log(str1 > str2); // 输出: true,比较的是字符串的 Unicode 编码值
    console.log(str1 > "abc"); // 输出: true

    // 大于等于运算符(>=)
    console.log(num1 >= num2); // 输出: true,由于隐式类型转换,字符串"5"会被转换成数字5
    console.log(num1 >= "5"); // 输出: true,由于隐式类型转换,字符串"5"会被转换成数字5
    console.log(str1 >= str2); // 输出: true,比较的是字符串的 Unicode 编码值
    console.log(str1 >= "abc"); // 输出: true

    // 小于运算符(<)
    console.log(num1 < num2); // 输出: false,由于隐式类型转换,字符串"5"会被转换成数字5
    console.log(num1 < "10"); // 输出: true,由于隐式类型转换,字符串"10"会被转换成数字10
    console.log(str1 < str2); // 输出: false,比较的是字符串的 Unicode 编码值
    console.log(str1 < "world"); // 输出: true

    // 小于等于运算符(<=)
    console.log(num1 <= num2); // 输出: true,由于隐式类型转换,字符串"5"会被转换成数字5
    console.log(num1 <= "5"); // 输出: true,由于隐式类型转换,字符串"5"会被转换成数字5
    console.log(str1 <= str2); // 输出: false,比较的是字符串的 Unicode 编码值
    console.log(str1 <= "hello"); // 输出: true
  </script>
</body>
</html>

这个结果有点多我就不截图结果了
这里注意有一个特殊情况是NaN,NaN和任何东西都不相等,包括他自己,下面是对于NaN的例子

<!DOCTYPE html>
<html>
<head>
  <title>NaN与自身的比较</title>
</head>
<body>
  <script>
    let my_nan = NaN;

    console.log(my_nan == my_nan); // 输出: false
    console.log(my_nan === my_nan); // 输出: false
    console.log(my_nan != my_nan); // 输出: true
    console.log(my_nan !== my_nan); // 输出: true
    console.log(my_nan > my_nan); // 输出: false
    console.log(my_nan >= my_nan); // 输出: false
    console.log(my_nan < my_nan); // 输出: false
    console.log(my_nan <= my_nan); // 输出: false
  </script>
</body>
</html>

这里引入B站的图,感觉老师总结的挺好的
在这里插入图片描述

逻辑运算符

其实就是与或非,任何编程语言都有这个东西
在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
  <title>逻辑运算符示例</title>
</head>
<body>
  <script>
    let age = 25;
    let name = "John";

    // 逻辑与运算符(&&)
    if (age > 18 && name == "John") {
      console.log("成年人 John");
    }

    // 逻辑或运算符(||)
    if (age > 30 || name == "John") {
      console.log("年龄大于30岁或叫做 John");
    }

    // 逻辑非运算符(!)
    if (!(age > 18)) {
      console.log("未成年人");
    }
  </script>
</body>
</html>

结果
在这里插入图片描述

运算符的执行顺序

直接上老师的图片把,没啥可说的,总结的好
B站

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

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

相关文章

一文彻底搞懂Kafka如何保证消息不丢失

文章目录 1. kafka 架构2. producer端是如何保证数据不丢失的2.1 同步发送2.2 异步发送2.3 批量发送 3. consumer端是如何保证数据不丢失的3.1 手动提交3.2 幂等性消费 4. broker端是如何保证数据不丢失的4.1 副本机制4.2 ISR机制4.3 刷盘机制 1. kafka 架构 Producer&#xff…

redis的主从配置模拟(一主双从)

目录 先来给大家扩展机道面试官经常会问到关于redis的题 一、redis有哪些好处 二、redis相比memcached有哪些优势 三、redis常见性能问题和解决方案 四、redis集群的工作原理 五、redis主从的原理 redis的主从配置模拟&#xff08;一主双从&#xff09; 一、准备环境 …

二级建造师试题答案?学生党都在用的6款搜题工具来了 #学习方法#学习方法#微信

作为大学生&#xff0c;我们应该善于利用各种学习工具&#xff0c;提高学习效率和质量。 1.灵兔搜题 这是一个公众号 包含大学网课、课后教材、选修课、mooc慕课及各类职业资格证、学历提升考试、公务员考试等常见题库。 下方附上一些测试的试题及答案 1、Uri主要由三部分组…

spark sql上线前的调试工作实现

背景 每个公司应该都有大数据的平台的吧&#xff0c;平台的作用就是可以在上面执行各种spark sql以及定时任务&#xff0c;不过一般来说&#xff0c;由于这些spark sql的上线不经过测试&#xff0c;所以可能会影响到生产的数据&#xff0c;这种情况下大数据平台提供一个上线前…

Blazor Wasm Google 登录

目录: OpenID 与 OAuth2 基础知识Blazor wasm Google 登录Blazor wasm Gitee 码云登录Blazor SSR/WASM IDS/OIDC 单点登录授权实例1-建立和配置IDS身份验证服务Blazor SSR/WASM IDS/OIDC 单点登录授权实例2-登录信息组件wasmBlazor SSR/WASM IDS/OIDC 单点登录授权实例3-服务端…

Docker 有哪些常见的用途?

Docker 是一种容器化技术&#xff0c;它允许应用程序在不同的环境之间具有一致的运行环境。这使得 Docker 在开发和运维领域中非常受欢迎&#xff0c;因为它简化了应用程序的部署和管理。以下是 Docker 的一些常见用途&#xff1a; 快速部署应用程序 Docker 允许开发人员和运…

Mysql Day04

mysql体系结构 连接层服务层引擎层&#xff08;索引&#xff09;存储层 存储引擎 存储引擎是基于表建立的&#xff0c;默认是innoDB show create table tb; 查看当前数据库支持的存储引擎 show engines; InnoDB 特点 DML&#xff08;数据增删改&#xff09;遵循ACID模…

c++之说_11|自定义类型 enum(枚举)与enumclass (c11新枚举)

至于枚举 会用就行 至少目前我感觉没什么太多问题 enum 被称为无作用域枚举 &#xff0c; enumclass / enumstruct 被称为有作用域枚举 看到了吧 语法规则 和 struct 差不多 只不过枚举成员 只是一个标志 它本质是数值 从上到下 下面的数根据上面的数 加 1 也可以直接…

Codeforces Round 923 (Div. 3) C. Choose the Different Ones(Java)

比赛链接&#xff1a;Round 923 (Div. 3) C题传送门&#xff1a;C. Choose the Different Ones! 题目&#xff1a; ** Example** ** input** 6 6 5 6 2 3 8 5 6 5 1 3 4 10 5 6 5 6 2 3 4 5 6 5 1 3 8 10 3 3 3 4 1 3 5 2 4 6 2 5 4 1 4 7 3 4 4 2 1 4 2 2 6 4 4 2 1 5 2 3 …

决策树之scikit-learn

实例 from sklearn.datasets import load_iris from sklearn import tree import matplotlib.pyplot as plt# Load iris dataset iris load_iris() X, y iris.data, iris.target# Fit the classifier clf tree.DecisionTreeClassifier() clf clf.fit(X, y)# Plot the deci…

【FPGA】Verilog:奇偶校验位发生器 | 奇偶校验位校验器

目录 0x00 奇偶校验位发生器 0x01 奇偶校验位校验器 0x02 错误检测器和纠错器

16.1 Spring框架_SpringIoC容器与Bean管理(❤❤❤❤)

16.1 Spring框架_SpringIoC容器与Bean管理 1. Spring IOC1.1 IoC控制反转 1. Spring IOC 1.1 IoC控制反转 需要自己查找3种苹果的特色,从而选择符合自己的需求 告诉水果店老板自己的口味,由老板推荐哪种苹果,省去自己查询水果特点 在java中,各种水果就是各种对象,买水果就是创…

【CC++】内存管理1:new + delete

前言 之前我们学习过C语言中的内存管理&#xff08;各种函数&#xff09;今天我们来学习C中的内存管理 引入 我们先来看下面的一段代码和相关问题 int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] {…

leetcode:63.不同路径二

dp数组含义&#xff1a;由初始位置到最终位置路径个数 递推公式&#xff1a;如果没有障碍再进行递推公式 初始化&#xff1a;1.若起始位置和终止位置有障碍路径个数为0 2.dp[i][0] 1和dp[0][j] 1的for循环条件都需要加上一个and dp[i][0] 0和and dp[0][j] 0. 3.遍历顺序…

在屏蔽任何FRP环境下从零开始搭建安全的FRP内网穿透服务

背景 本人目前在境外某大学读博&#xff0c;校园网屏蔽了所有内网穿透的工具的数据包和IP访问&#xff0c;为了实现在家也能远程访问服务器&#xff0c;就不得不先开个学校VPN&#xff0c;再登陆。我们实验室还需要访问另一个大学的服务器&#xff0c;每次我都要去找另一个大学…

Flink基础篇|001_Flink是什么

&#x1f4eb; 作者简介&#xff1a;「六月暴雪飞梨花」&#xff0c;专注于研究Java&#xff0c;就职于科技型公司后端工程师 &#x1f3c6; 近期荣誉&#xff1a;华为云云享专家、阿里云专家博主、腾讯云优秀创作者 &#x1f525; 三连支持&#xff1a;欢迎 ❤️关注、&#x…

监控概述、安装zabbix、配置zabbixagent、添加被控端主机、常用监控指标、自定义监控项

监控概述 对服务的管理&#xff0c;不能仅限于可用性。 还需要服务可以安全、稳定、高效地运行。 监控的目的&#xff1a;早发现、早治疗。 被监控的资源类型&#xff1a; 公开数据&#xff1a;对外开放的&#xff0c;不需要认证即可获取的数据私有数据&#xff1a;对外不开…

分享关闭Windows自动更新的六种方法。

方法一&#xff1a;禁用Windows Update服务 同时按下键盘的“WinR”键&#xff0c;打开“运行”窗口&#xff0c;输入“services.msc”并点击“确定”。 在打开的服务列表中找到“Windows Update”选项&#xff0c;双击打开其属性窗口。 在“启动类型”下拉菜单中选择“禁用”…

vue-内置组件-Suspense

Suspense (实验性功能) <Suspense> 是一项实验性功能。它不一定会最终成为稳定功能&#xff0c;并且在稳定之前相关 API 也可能会发生变化。 <Suspense> 是一个内置组件&#xff0c;用来在组件树中协调对异步依赖的处理。它让我们可以在组件树上层等待下层的多个嵌…

基于完全二叉树实现线段树-- [爆竹声中一岁除,线段树下苦踌躇]

文章目录 一.完全二叉树完全二叉树的父子结点引索关系 二.线段树三.基于完全二叉树实现线段树关于线段树的结点数量问题的证明递归建树递归查询区间和递归单点修改线段树模板题 一.完全二叉树 完全二叉树的物理结构是线性表,逻辑结构是二叉树 完全二叉树的父子结点引索关系 …