web学习笔记(十二)

目录

1.运算符

1.1算术运算符

1.2比较运算符(关系运算符)

1.3赋值运算符

1.4逻辑运算符

1.5条件运算符

1.6运算符的优先级

1.7补充

2.流程控制

2.1顺序结构:

2.2分支结构:

(1)单分支(if 语句)

 (2)双分支(if else 语句)

(3)多分支---if else if 语句

(4)多分支---switch 语句

switch 语句和 if else if 语句的区别


1.运算符

1.1算术运算符

运算符

描述

实例

+

10 + 20 = 30

-

10-20 = -10

*

10*20 = 200

/

10/20 = 0.5

%

取余数(取模)

返回除法的余数9%2 = 1

不要直接判断两个浮点数是否相等,浮点数的精确度不如整数。

运算符

描述

实例

++

自增(也是一元运算符)

x=++y

x=y++

--

自减(也是一元运算符)

x=--y

x=y--

  • 后置:  a++    先赋值,再自增(自减)------先人后己
  • 前置:   ++a    先自增(自减),再赋值。--------先己后人
  • 当不参加其他运算,只是自身增加和减小时,前置和后置是一样的,一但参与了其他运算(赋值也算运算)两者就会产生不同的效果。
  • 数字是常量没有自增自减,只有变量才有自增自减。
  • 开发时,大多使用后置递增/减,并且代码独占一行,例如:num ++;或者num--;

1.2比较运算符(关系运算符)

比较运算符(关系运算符)是比较两个值,比较运算后,会返回布尔值(true / false )作为比较运算的结果。

运算符名称

说明

案例

结果

小于号

1 < 2

true

>

大于号

1 > 2

false

> =

大于等于号(大于或者等于)

2>=2

true

< =

小于等于号(小于或者等于)

3

false

==

双等号(会自动转换数据类型---隐式转换 ),只需要数据一样即可

37 == 37

true

!=

不等号

37 != 37

false

===

全等要求值和数据类型都一致

37 === '37'

false

1.3赋值运算符

赋值运算符的优先级比较低,不是最低,但低于别的运算符。

运算符名称

例子

等同于

结果

=

x=y

x=5

+=

x+=y

x=x+y

x=15

-=

x-=y

x=x-y

x=5

*=

x*=y

x=x*y

x=50

/=

x/=y

x=x/y

x=2

%=

x%=y

x=x%y

x=0

1.4逻辑运算符

概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断

运算符名称

说明

案例

结果

&&(逻辑与)

and

(x < 10 && y > 1) 为 true

true

||(逻辑或)

or

(x==5 || y==5) 为 false

false

!(逻辑非)

not

!(x==y) 为 true

true

&&逻辑与:

  • 运算符两边的操作数两边如果有一个是布尔值,结果不一定是布尔,可能是原值 。
  •  短路逻辑:运算符的两侧的操作数,如果第一个操作数是假,后面不再执行,直接返回第一个操作数结果。     如果第一个操作数是真,则由第二个操作数来决定结果。

|| 逻辑或 :

  • 如果第一个操作数是真,直接返回第一个操作数的结果。   如果第一个操作数是假,由第二个操作数来决定结果
  • &&优先级高于||

!逻辑非  :就是进行取反操作,如true的相反值是false。

1.5条件运算符

        格式:  判断条件? value1;value2 (若判断条件为真则返回value1,否则返回value2)

1.6运算符的优先级

运算符

描述

. [] ()

字段访问、数组下标、函数调用以及表达式分组

++、 --、(++a 优先级小于 a++)  ! 、delete new typeof void

一元运算符、返回数据类型、对象创建、未定义值

* / %

乘法、除法、取模

+ - +

加法、减法、字符串连接

> >>>

移位

< >= instanceof

小于、小于等于、大于、大于等于、instanceof

== != === !==

等于、不等于、严格相等、非严格相等

&

按位与

^

按位异或

|

按位或

&&

逻辑与

||

逻辑或

?:

条件

=、 += 、-= 、*= 、/= 、%=

赋值、运算赋值

,

多重求值

1.7补充

  •  一边数字,一边字符串数字  会自动转换数字类型   eg:  console.log('5'>15);//false
  •  两边都是字符串  比较ascII码,一位一位比较  eg:    console.log( '5'>'15');//true
  •   NaN和谁都不相等,和自身都不相等。
  •    undefined 除了null和谁都不相等结果都是false

2.流程控制

流程控制主要有三种结构,分别是顺序结构、分支结构和循环结构,这三种结构代表三种代码执行的顺序。

2.1顺序结构:

          顺序结构是程序中最简单、最基本的流程控制,它没有特定的语法结构,程序会按照代码的先后顺序,依次执行, 程序中大多数的代码都是这样执行的。

2.2分支结构:

(1)单分支(if 语句)

    格式:  if(判断条件){

                条件成立,执行的语句。

               }

 (2)双分支(if else 语句)

      格式: if(判断条件){

                条件成立,执行的语句

               }else{

                条件不成立,执行的语句

               }

 let a = +prompt('请输入一个年份');if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0) {alert(`${a}是闰年`);} else {alert(`${a}是平年`);}

(3)多分支---if else if 语句

        格式:    if(判断条件1){

                                  如判断条件一成立,执行代码块1

                          }else if(判断条件2){

                                条件1不成 立,条件2成立,执行代码块2

                          }else if(判断条件3){

                                条件1不成立,条件2不成立,条件3成立,执行代码块3

                           }else{

                                 所有条件都不成立,则执行此代码块

                          }

  let a=+prompt('请输入您的分数');if(a>=90){console.log('A');}else if(a>=80&&a<90){console.log('B');}else if(a>=70&&a<80){console.log('C');} else if(a>=60&&a<70){console.log('D');}else{console.log('E');}

(4)多分支---switch 语句

当要针对变量设置一系列的特定值的选项时,就可以使用 switch。

  1. switch :开关 转换 , case :小例子 选项
  2. 关键字 switch 后面括号内可以是表达式或值, 通常是一个变量
  3. 关键字 case , 后跟一个选项的表达式或值,后面跟一个冒号
  4. switch 表达式的值会与结构中的 case 的值做比较
  5. 如果存在匹配全等(===) ,则与该 case 关联的代码块会被执行,并在遇到 break 时停止,整个 switch 语句代码执行结束
  6. 如果所有的 case 的值都和表达式的值不匹配,则执行 default 里的代码

注意: 执行case 里面的语句时,如果没有break,则继续执行下一个case里面的语句。

var fruit = prompt('请您输入查询的水果:'); 
switch (fruit) {case '苹果':alert('苹果的价格是 3.5/斤'); break;case '榴莲':alert('榴莲的价格是 35/斤'); break;default:alert('没有此水果');
}

switch 语句和 if else if 语句的区别

  • 一般情况下,它们两个语句可以相互替换
  •  switch...case 语句通常处理 case为比较确定值的情况, 而 if…else…语句更加灵活,常用于范围判断(大于、等于某个范围)
  •  switch 语句进行条件判断后直接执行到程序的条件语句,效率更高。而if…else 语句有几种条件,就得判断多少次。
  •  当分支比较少时,if… else语句的执行效率比 switch语句高。
  •  当分支比较多时,switch语句的执行效率比较高,而且结构更清晰。 

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

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

相关文章

浅谈智能照明系统调试阶段节能方案的探究与产品选型

贾丽丽 安科瑞电气股份有限公司 上海嘉定 201801 【摘要】针对当今智能照明系统调试完成前能源浪费的问题&#xff0c;本文结合工程案例&#xff0c;分析研究了智能照明系统调试阶段的节能方法&#xff0c;提出了采用时间控制器来解决能源及人工浪费等问题的方式。实践证明&a…

深度学习-模型转换_所需算力相关

模型转换相关 tensflow转onnx python -m tf2onnx.convert \--graphdef /root/autodl-tmp/warren/text-detection-ctpn/data/ctpn.pb \--output ./model.onnx --inputs Placeholder:0 --outputs Reshape_2:0&#xff0c;rpn_bbox_pred/Reshape_1:0 pytorch转onnx #!/usr/…

SMTP发送邮件命令行怎么操作?

在现代信息社会中&#xff0c;电子邮件已经成为人们沟通、工作和交流的重要工具。SMTP&#xff08;Simple Mail Transfer Protocol&#xff09;作为电子邮件传输的标准之一&#xff0c;通过命令行操作可以更为灵活地进行邮件的发送。本文将介绍如何使用命令行进行SMTP邮件发送&…

基于spark的个性化招聘推荐系统

介绍 本就业推荐系统是一个基于Spark框架的个性化推荐平台&#xff0c;使用Python Django框架、Vue和Element-Plus UI组件库构建而成。该系统通过Scrapy爬虫框架抓取招聘网站的职位数据&#xff0c;用户可以根据关键词查询符合条件的职位信息&#xff0c;同时还提供了基于协同…

ps导出图像自动修改dpi问题的处理

问题 今天修改一个图片&#xff0c;一切都准备就绪后&#xff0c;只要一导出图片&#xff0c;像素不变&#xff0c;但dpi立刻就变成了96dpi&#xff0c;无论怎么修改就是这个值&#xff0c;但我的原值是300dpi&#xff0c;差的不是一点半点。最后在网友的帮助下解决&#xff0…

和vue2对比的Vue3新写法,在vue2基础上快速上手vue3项目

本文的目的&#xff0c;是为了让已经有 Vue2 开发经验的 人 &#xff0c;快速掌握 Vue3 的写法。 一、Vue3 里 script 的三种写法 首先&#xff0c;Vue3 新增了一个叫做组合式 api 的东西&#xff0c;英文名叫 Composition API。因此 Vue3 的 script 现在支持三种写法&#x…

QT应用篇:QT自定义最小化托盘显示和操作

将应用程序最小化到托盘任务栏中,可以使用Qt框架中的QSystemTrayIcon类。该类允许应用程序在关闭窗口后最小化到系统托盘,保持在后台运行,同时可以显示应用程序图标、添加右键菜单功能以及发送消息通知等。通过学习这些技术,能够为自己的Qt应用程序增加更多的交互性和便利性…

c++:拓扑排序

考研机试&#xff1a;拓扑排序 给定一个 n个点 m条边的有向图&#xff0c;点的编号是 1到 n&#xff0c;图中可能存在重边和自环。请输出任意一个该有向图的拓扑序列&#xff0c;如果拓扑序列不存在&#xff0c;则输出 −1。 若一个由图中所有点构成的序列 A满足&#xff1a;对…

关于Js深拷贝的三种方法详细讲解

目录 前言 一、pandas是什么&#xff1f; 二、使用步骤 1.利用函数递归来实现深拷贝 2.利用引入lodash包 3.利用JSON字符串转换 总结 前言 当涉及到JavaScript数据拷贝的时候&#xff0c;深拷贝是一个非常关键的概念。在JavaScript中&#xff0c;对象和数组被认为是引用类型&a…

Linux CentOS 8.x、9.x 系统安装启动某些服务报:libtinfo.so.5、libncurses.so.5 的问题,解决方式

场景&#xff1a; 启动服务 xxx-server start 报如下问题&#xff1a; error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory 解决&#xff1a; 1、根据报错内容可以看出&#xff0c;是因为xxx服务在启动的时候…

php实现定时任务

在PHP中&#xff0c;你可以使用不同的方法来实现定时任务。以下是其中两种常见的方法&#xff1a; 使用Cron Job&#xff1a; Cron是一种在Unix和类Unix系统上运行定期任务的工具。你可以通过设置Cron Job来定时运行PHP脚本。以下是一个简单的例子&#xff1a; 首先&#xff0c…

结构体(structure)的认识

前言——————希望现在在努力的各位都能感动以后享受成功的自己&#xff01; 今天我们来了解了解一下结构体&#xff0c;结构体又有什么奥妙呢&#xff0c;废话不多说&#xff0c;何为结构体呢&#xff1f;------->结构是⼀些值的集合&#xff0c;这些值称为成员变量。结…

每日算法打卡:子矩阵的和 day 8

文章目录 原题链接题目描述输入格式输出格式数据范围输入样例&#xff1a;输出样例&#xff1a; 题目分析示例代码 原题链接 796. 子矩阵的和 题目难度&#xff1a;简单 题目描述 输入一个 n 行 m 列的整数矩阵&#xff0c;再输入 q 个询问&#xff0c;每个询问包含四个整数…

即时设计:设计稿与PPT完美结合,让您的创意作品更具影响力

PPT助手 更多内容 在设计领域&#xff0c;将设计稿与PPT结合起来&#xff0c;可以让您的作品更具吸引力和影响力。为了满足这一需求&#xff0c;我们向您推荐一款强大的设计工具&#xff0c;它可以将设计稿导出为PPT文件&#xff0c;支持线上预览和编辑&#xff0c;让您的创意…

2024年大数据不完全预测

人工智能的进步可能是2024年的主要推动力&#xff0c;也凸显出大数据的挑战——如何存储、管理、管理和使用大数据——从未如此紧迫。&#xff0c;因为如果作为基石的数据失控&#xff0c;人工智能就没有意义了。当然反之亦然。 人工智能的进步可能是2024年的主要推动力&#…

【leetcode】力扣算法之相交链表【中等难度】

题目描述 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&#xff0c;函数…

如何解决海量数据的问题

近年来&#xff0c;高并发、分布式以及大数据成了后端开发者绕不开的话题&#xff0c;招聘软件上几呼都写着有高并发、大数据等项目经历优先时。很多人实际项目往往都是 CRUD&#xff0c;也没机会接触到这些场景啊。 但是&#xff0c;有位伟人曾经说过&#xff1a;没有条件&am…

并发(9)

目录 50.AQS的核心思想是什么&#xff1f; 51.AQS有哪些核心方法&#xff1f; 52.AQS定义什么样的资源获取方式&#xff1f; 53.AQS底层使用了什么样的设计模式&#xff1f; 54.什么是可重入&#xff0c;什么是可重入锁&#xff1f;他用来解决什么问题&#xff1f; 55.Ree…

小程序实现绘制图片 保存到手机

HTML <template><view><canvas canvas-id"myCanvas" :style"{height:380px,width:wWidthpx,background:#FFFFFF}"></canvas><view class"textCenter"><button click"saveCanvas">保存图片</b…

三代半导体材料有何区别

什么是半导体材料 半导体材料是制作半导体器件和集成电路的电子材料&#xff0c;是半导体工业的基础。利用半导体材料制作的各种各样的半导体器件和集成电路&#xff0c;促进了现代信息社会的飞速发展。 绝缘体、半导体和导体的典型电导率范围 半导体材料的研究开始于19世纪初…