JavaScript运算符(赋值、自增自减、比较、逻辑、展开、优先级)、分支语句(if、三元表达式、switch)、循环结构(while、for)、断点调试

目录

  • 1. 运算符
    • 1.1 赋值运算符
    • 1.2 自增和自减运算符
    • 1.3 比较运算符
    • 1.4 逻辑运算符
    • 1.5 展开运算符
    • 1.6 运算符优先级
  • 2. 分支语句
    • 2.1 if
    • 2.2 三元表达式
    • 2.3 switch
  • 3. 循环结构
    • 3.1 while循环
    • 3.2 for循环
  • 4. 断点调试

1. 运算符

1.1 赋值运算符

  • +=
  • -=
  • *=
  • /=
  • %=

1.2 自增和自减运算符

  • 前置自增,先自加再使用
  • 后置自增,先使用再自加
  • 前置自减
  • 后置自减
    let num1 = 10
    // 前置自增。先自加再使用
    ++num1
    console.log(num1)

    let num2 = 10
    // 后置自增。先使用再自加
    num2++
    console.log(num2)

    let num3 = 10
    // 前置自减
    --num3
    console.log(num3)

    let num4 = 10
    // 后置自减
    num4--
    console.log(num4)

    // 自增难题
    // 执行过程: 1. 先执行++num5, num5 = 2
    //         2. 再执行num5 + num5, 等于4
    //         3. 再执行num5++, num5 = 3
    //         4. 最后执行4 + num5 = 7, 结果等于7
    let num5 = 1
    console.log(num5++ + ++num5 + num5)     // 7
    console.log(num5) 

1.3 比较运算符

  • >: 左边是否大于右边
  • <: 左边是否小于右边
  • >=: 左边是否大于或等于右边
  • <=: 左边是否小于或等于右边
  • ==: 左右两边值是否相等
  • ===: 左右两边是否类型和值都相等
  • !=: 左右两边值是否不相等
  • !==: 左右两边是否不全等

注意事项:

  • 字符串比较,是比较的字符对应的ASCII码。从左往右依次比较,如果第一位一样再比较第二位,以此类推
  • 尽量不要比较小数,因为小数有精度问题。小数相加有精度问题,可以先转换成整数进行相加,再转换成小数
  • 不同类型之间比较会发生隐式转换。最终把数据隐式转换转成number类型再比较
  • undefined === null为false
  • NaN不等于任何值,包括它本身

1.4 逻辑运算符

  • &&: 逻辑与
    • 逻辑与前面的表达式为false,则不再判断后面的表达式
    • console.log(6 && 8),输出的结果是能决定最终结果的表达式,这里输出8
  • ||: 逻辑或
    • 逻辑或前面的表达式为true,则不再判断后面的表达式
    • console.log(6 || 8),输出的结果是能决定最终结果的表达式,这里输出6
  • !: 逻辑非

1.5 展开运算符

展开运算符, 可以将一个数组进行展开,但不修改原数组。注意: 展开数组是对数组的浅拷贝,数组中的元素如果是对象则拷贝的是地址
应用: 求数组最大值、数组合并

示例如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>Title</title>

</head>
<body>
  <script>
    const arr1 = [1, 2]
    const arr2 = [3, 4]

    // 求数组最大值
    console.log(Math.max(...arr1)) // 2
    // 合并数组
    console.log([...arr1, ...arr2])   // [1, 2, 3, 4]
  </script>
</body>
</html>

1.6 运算符优先级

优先级运算符顺序
1小括号()
2一元运算符++ – !
3算数运算符先* / % 后+ -
4关系运算符> >= < <=
5相等运算符== != === !==
6逻辑运算符先&& 后||
7赋值运算符=
8逗号运算符,

2. 分支语句

2.1 if

  • 判断条件结果若不是布尔类型时,会发生隐式转换转为布尔类型
    let score = 86
    
    if(score >= 80) {
        console.log('很棒')
    } else if(score >= 60) {
        console.log('还行')
    } else {
        console.log('不太行')
    }

2.2 三元表达式

    console.log(8 > 6 ? 8 : 6)  // 8

2.3 switch

  • 找到跟小括号里数据全等===的case值,并执行里面对应的代码
    let num = 2

    switch (num) {
        case 1:
            console.log('输入的是1')
            break
        case 2:
            console.log('输入的是2')
            break
        default:
            console.log('输入的不是1和2')

    }

3. 循环结构

  • continue: 跳出本次循环,执行下一次循环
  • break: 跳出所有循环

3.1 while循环

    let num = 1
    while(num <= 3) {
        console.log(num)
        num++
    }

3.2 for循环

  • for(;;) 可以构造“无限”循环,需要使用break退出循环
    for(i = 1; i <= 3; i++) {
        console.log(i)
    }

4. 断点调试

断点调试步骤:

  1. 点击source,选择运行的html
  2. 在需要断点的地方,进行点击,就可以打断点
  3. 再次刷新页面,就会进入断点调试模式
  4. 可以点击弯箭头,跳转到下一步
    断点调试

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

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

相关文章

(C++) 树状数组

目录 一、介绍 二、一维树状数组 2.1 区间长度 2.2 前驱和后继 2.3 查询前缀和 2.4 点更新 三、一维数组的实现 3.1 区间长度函数 3.2 前缀和 3.3 插入/更新 3.4 封装成类 一、介绍 树状数组&#xff08;Binary Indexed Tree&#xff0c;BIT&#xff09;&#xff0c;又称为 …

ActiveMQ 如果数据处理出现异常会怎么样

我们有一个 Spring 的客户端&#xff0c;在处理消息的时候因为程序的原因出现消息处理异常。 对这种情况&#xff0c;ActiveMQ 会把出现异常的消息放在 DLQ 队列中进行持久化。 因此&#xff0c;在 ActiveMQ 消息处理队列中需要持续关注 DLQ 队列&#xff0c; DLQ 的队列都是无…

线段树汇总

线段树是一种二叉搜索树&#xff0c;与区间树相似&#xff0c;它将一个区间划分成一些单元区间&#xff0c;每个单元区间对应线段树中的一个叶结点。 使用线段树可以快速的查找某一个节点在若干条线段中出现的次数&#xff0c;时间复杂度为O(logN)。而未优化的空间复杂度为2N&a…

最新版的GPT-4.5-Turbo有多强

OpenAI再次用实力证明了&#xff0c;GPT依然是AI世界最强的玩家&#xff01;在最新的AI基准测试中&#xff0c;OpenAI几天前刚刚发布的GPT-4-Turbo-2024-04-09版本&#xff0c;大幅超越了Claude3 Opus&#xff0c;重新夺回了全球第一的AI王座&#xff1a; 值得一提的是&#xf…

【机器学习】重塑汽车设计与制造:实例与代码探索

机器学习重塑汽车设计与制造 一、机器学习在汽车设计中的应用二、机器学习在智能制造与生产中的应用 在数字化浪潮的推动下&#xff0c;机器学习技术正逐步成为汽车行业的创新引擎。从概念设计到智能制造&#xff0c;机器学习正以其独特的优势助力汽车产业的革新与发展。本文将…

实现基于RAG的QA应用程序

实现基于RAG的Q&A应用程序 LLM 支持的最强大的应用程序之一是复杂的 问答 &#xff08;Q&A&#xff09; 聊天机器人。这些应用程序可以 回答有关特定来源信息的问题。这些应用程序 使用一种称为检索增强生成 &#xff08;RAG&#xff09; 的技术。 什么是检索增强生成…

Golang | Leetcode Golang题解之第43题字符串相乘

题目&#xff1a; 题解&#xff1a; func multiply(num1 string, num2 string) string {if num1 "0" || num2 "0" {return "0"}m, n : len(num1), len(num2)ansArr : make([]int, m n)for i : m - 1; i > 0; i-- {x : int(num1[i]) - 0fo…

设计模式之访问者模式(上)

访问者模式 1&#xff09;概述 1.概念 访问者模式包含访问者和被访问元素两个主要组成部分。 处方单中的各种药品信息就是被访问的元素&#xff0c;而划价人员和药房工作人员就是访问者&#xff0c;被访问的元素通常具有不同的类型&#xff0c;且不同的访问者可以对它们进行…

上位机图像处理和嵌入式模块部署(树莓派4b处理类muduo网络编程)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 既然是linux编程&#xff0c;那么自然少不了网络编程。在linux平台上面&#xff0c;有很多的网络编程库可以选择&#xff0c;大的有boost、qt&…

免费PNG素材网站推荐:设计效率倍增!

一、即时设计 新一代协同设计工具即时设计&#xff0c;内置丰富社区资源&#xff0c;可以在此获得设计前线的各类PNG图像&#xff0c;以及矢量图标&#xff0c;包括毛玻璃、3D混搭、全息投影、单色、平面化等&#xff0c;都是符合目前市场的主流风格。通过最近更新、作品、资源…

影响钕铁硼磁钢性能的因素及方法

钕铁硼永磁材料自问世以来&#xff0c;就以其优越的磁性能而备受关注&#xff0c;被称为“磁王“&#xff0c;在市场需求的不断地增长下&#xff0c;钕铁硼生产工艺及磁体性能也不断发展和提升。我们一般用剩磁、矫顽力和最大磁能积这几个指标来衡量磁性材料的磁性能。 剩磁 B…

【C++】:类和对象(上)

目录 一&#xff0c;面向过程和面向对象初步认识二&#xff0c;类的引入三&#xff0c;类的定义3.1 **类的说明**3.2 **类的访问限定符**3.3 **类的两种实现方式**3.4 **成员变量的命名规则 --- 加下划线** 四&#xff0c;类的作用域4.1 **类域的说明**4.2 **类域与命名空间域的…

分析经过j2k压缩的dicom文件经验分享

最近碰到一个问题&#xff0c;在网上搜到是用JPEG 2000压缩的DICOM文件 JPEG 2000对应的transfer syntax UID为 1.2.840.10008.1.2.4.91 参考:https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_8.7.3.html 该文件是用专业德国老牌开发库DCMTK生成的 (…

虚拟机VMware安装与Ubuntu

1.虚拟机安装 链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;2fr6 CG54H-D8D0H-H8DHY-C6X7X-N2KG6 2.Ubuntu下载 Download Ubuntu Desktop | Ubuntu 3.设置 如后续要下一些软件越大越好

Diffusion Model原理剖析

目录 前言1. DDPM演算法初览2. 图像生成模型共同目标3. VAE: Lower bound of l o g P ( x ) logP(x) logP(x)4. Diffusion Model背后的数学原理5. 为什么需要Sample?6. Diffusion Model的应用7. Diffusion Model成功的关键总结参考 前言 接着上篇文章 图像生成模型浅析&#…

15.C++常用的算法_拷贝和替换算法

文章目录 遍历算法1. copy()代码工程运行结果 2. replace()代码工程运行结果 3. replace_if()代码工程运行结果 4. swap()代码工程运行结果 遍历算法 1. copy() 代码工程 copy()函数不要因为使用而使用#define _CRT_SECURE_NO_WARNINGS #include<iostream> #include&l…

dremio支持设置

Dremio 支持提供可用于诊断目的的设置。这些设置通过 Dremio UI&#xff1a;设置>支持启用&#xff08;或禁用&#xff09; 使用 Client Tools 可以配置当用户查看数据集中的数据时&#xff0c;Dremio 项目的工具栏上显示哪些客户端应用程序按钮。用户可以通过单击相应的工具…

免费ssl泛域名/泛解析证书获取教程

泛域名SSL证书&#xff0c;也称为通配符证书&#xff0c;它可以保护一个主域名下的所有子域名。这意味着&#xff0c;无论你有多少个子域名&#xff0c;只要安装了一个泛域名SSL证书&#xff0c;就可以实现全部子域名的安全保护。这种证书非常适合大型企业或有大量子域名的网站…

数电复习(五)半导体存储电路

半导体存储电路 5.1 概述5.2 SR锁存器5.3 触发器5.3.1电平触发的触发器5.3.2 边沿触发器5.3.3 脉冲触发(主从) 触发器5.3.4 触发器逻辑功能的转换 5.4 寄存器5.4.1 数码寄存器5.4.2 移位寄存器 5.5 存储器5.5.1 ROM5.5.2 随机存储器RAM5.5.3 存储器容量的扩展5.5.4 用存储器实现…

怎么申请免费SSL证书,如何安装

什么是SSL证书&#xff0c;SSL&#xff0c;即Secure Sockets Layer&#xff08;安全套接层&#xff09;&#xff0c;它是一种安全协议&#xff0c;用于在互联网通信中为数据提供加密保护&#xff0c;从而防止数据被窃听或篡改。而SSL证书则是由权威的数字证书认证机构&#xff…