JavaScript-运算符篇

2023-10-31

目录

一,算数运算符

二,递增和递减运算符

1,前置递增:

2,后置递增:

三,比较运算符

四,逻辑运算符

1,逻辑与&&

2,逻辑或 ||

 3,逻辑非 !

5, 短路运算(逻辑中断)

 6,赋值运算符

7,运算符优先级

8,流程控制

1,顺序机构

2,分支结构

9,三元表达式


一,算数运算符

1.概念:算术运算使用的符号,用于执行两个变量或值的算术运算。

加(+)、减(-)、乘(*)、除(/)、取余(%)

取余(%):返回除法

注意:浮点数的精度问题的余数。

浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确度远远不如整数。

var result = 0.1 + 0.2;    // 结果不是 0.3,而是:0.30000000000000004

console.log(0.07 * 100);   // 结果不是 7,  而是:7.000000000000001

所以:不要直接判断两个浮点数是否相等 !

二,递增和递减运算符

如果需要反复给数字变量添加或减去1,可以使用递增(++)和递减( -- )运算符来完成。

实例:

var num=1;num++;//2

var num=1;++num;//2

放在变量前面时,我们可以称为前置递增(递减)运算符,放在变量后面时,我们可以称为后置递增(递减)运算符。 

1,前置递增:

++num 前置递增,就是自加1,类似于 num =  num + 1,简写++num,

先自加,后返回值。

    <script>
        var num = 10;
        alert(++num + 10);   // 21
    </script>

2,后置递增:

num++ 就是自加1,类似于 num =  num + 1,简写 num++,

先返回原值,后自加

    <script>
        var num = 10;
        alert(10 + num++);  // 20
    </script>

实例展示:

    <script>
        var a = 10;
        ++a;
        var b = ++a + 2;
        console.log(b); 
    </script>

    <script>
        var c = 10;
        c++;
        var d = c++ + 2;
        console.log(d); 
    </script>

 

    <script>
        var e = 10;
        var f = e++ + ++e;
        console.log(f); 
    </script>

 

三,比较运算符

<  

小于号

1<2

true

>

大于号

1>2

false

>=

大于等于号

2>=2

true

<=  

小于等于号

3<=2

false

==

是否相等

2==2

true

!=

不等号

 3!=2

true

===  

全等号

要求值和数据类型必须相等举例:

“3”===3 false,”3”==3 true

    <script>
        console.log(3 >= 5); //false
        console.log(2 <= 4); //true
        console.log(3 == 5);//false
        console.log('中文' == 'chinese'); //false
        console.log(10 == 10); //true
        console.log(10 == '10');//true
        console.log(10 != 10); //false
        console.log(10 === 10);//true
        console.log(10 === '10'); //false
    </script>

四,逻辑运算符

 含义:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。

1,逻辑与&&

两边都是 true才返回 true,否则返回 false

    <script>
        console.log(true && false) //false;
        console.log(3 > 2&&1 > 2); //false
    </script>

2,逻辑或 ||

含义:只要一边为true既返回 true,两边都为false时返回false

    <script>
        console.log(true || false) //true;
        console.log(3 > 2 || 1 > 2); //true
    </script>

 

 3,逻辑非 !

含义:逻辑非(!)也叫作取反符,用来取一个布尔值相反的值,如 true 的相反值是 false

    <script>
        var isOk = !true;
        console.log(isOk);  // false
    </script>

实例展示:

    <script>
        var num = 7;
        var str = "我爱你~中国~";
        
        console.log(num > 5 && str.length >= num);
        console.log(num < 5 && str.length >= num);
        console.log(!(num < 10));
        console.log(!(num < 10 || str.length == num)); 
    </script>

5, 短路运算(逻辑中断)

含义:短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值;

    <script>
        console.log(123 && 456);        // 456
        console.log(0 && 456);          // 0
        console.log(123 && 456 && 789);  // 789

        console.log(123 || 456);         //  123
        console.log(0 || 456);          //  456
        console.log(123 || 456 || 789);  //  123
    </script>

 6,赋值运算符

  =       直接赋值

    <script>
        var realname = '小明';
    </script>

+=,-=,*=,/=,%=  先计算在赋值;

    <script>
        var age = 10; age += 5;//15
        var age = 10; age -= 5;//5
        var age = 10; age *= 5;//50
        var age = 10; age /= 5;//2
        var age = 10; age %= 5;//0
    </script>

7,运算符优先级

1:小括号  ()

2:一元运算符    ++、--、!

3:算数运算符    先*、/、% 后 +、-

4:关系运算符    >、>=、<、<=

5:相等运算符     ==、!= 、===、!==

6:逻辑运算符     先&& 后 ||

7:赋值运算符     =

8:逗号运算符    ,

8,流程控制

定义:就是来控制代码按照一定结构顺序来执行,流程结构主要分三种:顺序结构、分支结构、循环结构。

1,顺序机构

最基本的流程控制,它没有特定的语法结构,程序会按照代码的先后顺序执行。

2,分支结构

由上到下执行代码的过程中,根据不同的条件,执行不同的路径代码,从而得到不同的结果。JS分支结构分为两种:if语句、switch语句。

 if语句

语法:

If(条件表达式){

   // 条件成立执行的代码

}

        if('中文' != 'chinese'){
            //执行代码
        }
    </script>

If(条件表达式){

   // 如果条件成立执行代码

}else{

  // 条件不成立 执行此代码

}

// 适合于检查多重条件。

if (条件表达式1) {

       执行代码1;

} else if (条件表达式2)  {

         执行代码2;

} else if (条件表达式3)  {

       执行代码3;

 } else {

        // 上述条件都不成立执行此处代码

 }

    <script>
        var sex = prompt('请输入您的性别:');
        if (sex == '男') {
            alert('请上男卫生间');
        } else if (sex == '女') {
            alert('请上女卫生间');
        } else {
            alert('?');
        }
    </script>

switch语句

语法:

switch(表达式) {

     case n:

        代码块

        break;

     case n:

        代码块

        break;

     default:

        默认代码块

}

    <script>
        var sex = 1;
        switch (sex) {
            case 1:
                console.log("您喜欢的是猫");
                break;

            case "狗":
                console.log("您喜欢的是狗");
                break;

            default:
                console.log("其他动物");
        }
    </script>

总结:

我们开发里面 表达式我们经常写成变量

我们num 的值 和 case 里面的值必须是全等

break 如果当前的case里面没有break 就会继续执行下一个case

9,三元表达式

语法结构: 表达式1 ? 表达式2 : 表达式3;

    <script>
        var num = 11;
        var res = num > 10 ? '是的' : '不是的';
        Console.log(res); //不是的 
    </script>

 结语:今天的运算符就分享到这吧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript-运算符篇 的相关文章

随机推荐

  • object对象转数组

    解决方案 let arr for let ip in harddisklist const item Object assign ip harddisklist ip arr push item arr push ip harddiskli
  • C# winform中调用摄像头,拍摄并保存图片!

    首先在NuGet中 下载AForge包 把这些都添加进项目中 1 命名空间和公共属性 using AForge Video DirectShow using System using System Drawing using System
  • 点云中截取自己想要的点云

    文章目录 一 利用python保留自己想要的点云 二 将txt转换为pcd 三 可视化对比 一 利用python保留自己想要的点云 1 python读取pcd点云文件 需要使用python的库open3d读取 在pycharm中打开终端 输
  • educoder算法设计与分析 实验五 回溯法拓展2

    实验五 回溯法拓展2 第1关 非递归实现皇后问题 第2关 递归算法解决皇后问题 第3关 素数圈 第1关 非递归实现皇后问题 题目描述 本关任务 在n n格的棋盘上放置彼此不受攻击的 n 个皇后 按照国际象棋的规则 皇后可以攻击与之处在同一行
  • oracle数据库的 date 和 timestamp 类型区别

    1 date类型存储数据的格式为年月日时分秒 可以精确到秒 timestamp类型存储数据的格式为年月日时分秒 可以精确到纳秒 9位 2 date类型 Date类型的数据可以显示到年月日 也可以显示到年月日时分秒 主要看存储数据的精确度 注
  • 《软件架构设计》一书目录

    第一部分软件架构概念与思想篇 1第1章解析软件架构概念 3 1 1软件架构概念的分类 3 1 1 1组成派 4 1 1 2决策派 5 1 2软件架构概念大观 5 1 2 1Booch Rumbaugh和Jacobson的定义 5 1 2 2
  • 机智的Open3D学习生活(第一集):入坑前的准备工作

    1 Open3D的开源项目地址 https github com isl org Open3D 2 Open3D的官网地址 http www open3d org 3 Open3D的文档地址 http www open3d org docs
  • Jetson 上cmake 带cuda 的程序报错

    报错信息为 找不到CUDA 架构 https blog csdn net qq 19449259 article details 128001426 把cuda 的nvcc 加入环境变量之后 又报了如下错误 报错信息如下 D CUDACC
  • 猿人学APP逆向第一题

    一 抓包 加密参数sign 二 静态分析 2 1搜索app1直接直接定位到请求位置 查看用例直接定位到加密位置 可以直接看到Sign sign 方法就是加密函数 2 2frida hook加密函数 一目了然 第一题太简单了就不过多分析 直接
  • JavaScript数据结构之栈

    JavaScript 数据结构之栈思维导图 JavaScript 数据结构之栈源码
  • MUI蓝牙打印(Android)

    MUI蓝牙打印 Android 使用MUI开发手机APP时使用蓝牙打印功能可能较少使用 MUI官方并为集成蓝牙打印功能 而且似乎对iPhone蓝牙打印的类库支持也不够完善 忙完一阶段后回顾下之前的工作 想想蓝牙打印功能折腾了够长时间了 写这
  • Django数据库orm操作以list形式获取数据库中某列所有值

    文章目录 问题 解决办法 方式一 方式二 方式三 写在最后 问题 如图所示 Django数据库中存储如下字段 这是在前端渲染出的数据 现在的需求是 要把factory这一列数据从后端数据库提取出来得到一个list方便后续的 select o
  • 几何画笔

    在看书时看到了这个概念 画笔可以分为几何画笔和装饰画笔 目前从CSDN以及MSDN上大致看了一下几何画笔的用法 代码如下 HPEN hPen NULL DWORD dwStyle PS GEOMETRIC PS DASHDOT PS END
  • HIT SC ADT and OOP

    ADT Abstract Data Types 在上学期的数据结构中我们已经接触过ADT 抽象数据型 抽象数据型是一个数学模型和在该模型上定义的操作的集合 在软件构造中ADT概念也类似 不过多了些值得注意的点 首先看一下MIT官网列出的几个
  • metasploit

    概念 Metasploit是一款开源的安全漏洞检测工具 可以帮助安全和IT专业人士识别安全性问题 验证漏洞的缓解措施 并管理专家驱动的安全性进行评估 提供真正的安全风险情报 这些功能包括智能开发 代码审计 Web应用程序扫描 社会工程 团队
  • 为什么重写equals还要重写hashcode

    为什么重写equals还要重写hashcode 1 简介 equals和hashcode都属于Object类的方法 其中hashcode为本地方法 object中equals是比较是否为同一对象 public boolean equals
  • Java集成微信小程序生成二维码传回前端,提供下载按钮

    1 后端调用方法获取AccessToken的工具类 import com alibaba fastjson2 JSON import com alibaba fastjson2 JSONObject import org springfra
  • 《数据结构初阶》用队列实现栈&&用栈实现队列的细致解析

    纵有千古 横有八方 目录 一 本章重点 二 队列实现栈 三 栈实现队列 四 解题思路总结 一 本章重点 用两个队列实现栈 用两个栈实现队列 解题思路总结 二 队列实现栈 我们有两个队列 入栈数据1 2 3 可以将数据入队列至队列一或者队列二
  • 如何让微pe上网_如何用U盘重装系统

    现如今电脑普及程度已经涉及到我们生活中的方方面面 日常生活和工作都离不开电脑 作为一个Window使用者 遇到问题时 能自己独立重装操作系统 是一件很有成就的事情 U盘重装系统是目前比较流行和简单的方法 比过去的使用光盘更加简易 小白也能轻
  • JavaScript-运算符篇

    目录 一 算数运算符 二 递增和递减运算符 1 前置递增 2 后置递增 三 比较运算符 四 逻辑运算符 1 逻辑与 2 逻辑或 3 逻辑非 5 短路运算 逻辑中断 6 赋值运算符 7 运算符优先级 8 流程控制 1 顺序机构 2 分支结构