前言
本次主要包含了运算符的概念和运算符的讲解、运用,还有JS中流程控制的几种方式,还有一些有趣的小案例和大家分享!
一、运算符
概念
运算符就是用于实现一些功能的符号,例如我们大家都知道的加减乘除,这就是运算符
运算符的分类
算数运算符
分为加、减、乘、除、取余
算数运算符的优先级问题:先乘除后加减,如果有小括号就先算小括号里的
浮点数的精度问题:不管是什么数, 在计算机中最终都会被转化为 0 和 1 进行存储,0.1 转二进制的时候是一个无限循环小数
例如0.1+0.2=0.3?
所以0.1+0.2不等于0.3,那么如何实现相等呢?这就需要用到转换思想,对0.1和0.2进行倍数的扩大或者缩小,在运算时还原为原来的倍数即可
递增&递减运算符
假如我有一个需求,想让一个变量 num 加1,一般的写法是 num = num + 1,这样写起来肯定没有问题,但是呢,我觉得还是有点麻烦,于是就出现了我们的递增运算符,它的写法就比较简单,只需要 num++ 就实现了同样的效果,所以它出现的目的主要就是写起来代码比较简洁
递增还分为前置递增和后置递增
前置递增:也就是把 ++ 写在变量的前面。先自加再返回,必须配合变量使用
后置递增:写在变量后面
两者的区别就是在参与运算时,是先自加还是先返回
由于a并没有参与后面的运算所以运行结果为7
因为a参与了后面的运算所以进行了自加,运行结果为14
递减运算符和递增同理哦~
比较运算符
也叫关系运算符是两个数据进行比较时的运算符。比较运算符会返回一个布尔值作为比较的结果。
大于、小于、等于、不等于,返回的是一个布尔值
字符串和数字比较,会隐式把字符串转为数字后再进行比较
逻辑运算符
逻辑运算符是用来进行布尔值运算的运算符,分为逻辑与、逻辑或、逻辑非
逻辑与&&:当两者表达式中都为真时才返回true,否则返回false
逻辑或||:当且仅当其一个或多个操作数为true,其运算结果为true
逻辑非!:就是取反的含义。例如!true=false
赋值运算符
用来把右边的数据赋值给左边的变量
例如=,+=,-=
短路运算
当有多个表达式(值)时,左边的表达式(值)可以确定结果时,就不再继续运行右边的表达式了
a&&b
逻辑与:如果a的值为真,则返回b。如果a的值为假,则返回a
逻辑或:如果a的值为真,则返回a,第一个为假则返回b
表达式和返回值
表达式是由数字、运算符、变量等组成的式子,就是表达式。所有的表达式最终都会有一个返回结果,这个结果我们就叫做返回值
二、流程控制
很多时候我们要通过控制代码的执行顺序来实现我们要完成的功能,流程控制就是来控制我们的代码按照怎样的一个顺序去执行的。
分为三种模式:顺序流程控制、分支流程控制、循环流程控制
顺序流程控制是按代码书写的先后顺序从上往下依次执行。
分支流程控制可以根据不同的条件,执行不同的代码,得到不同的结果。例如if else,switch等
循环流程控制就是for循环等
针对流程控制的概念可能有点千篇一律,废话不多说直接上案例~
example
如果年龄大于18岁弹出提示允许进网吧打斗魂竞技场,否则不允许
如果大家感兴趣的话,我给大家留下几个小案例看完文章可以上手感受一下
①判断输入的年份是否为闰年
②比较两个数的大小,依次输入两个数字,输入完成后提示弹出大的那个数
多分支语句
-
if() {} else if() {},常用于某一个范围
-
switch,针对一些特定值的情况
-
switch 会直接跳到某个匹配的选项,效率比较高,if else 是按顺序一个一个的进行匹配。当然这个也取决于分支的多少,分支比较少的情况下还是用 if else 比较合适
三元表达式
表达式一 ? 表达式二 : 表达式三
如果表达式一为 true ,则返回表达式二的值,如果表达式一为 false,则返回表达式三的值
example
对输入的数字小于10的进行补零(仅展示三元表达式)
num>10 ?num:'0' + num
彩蛋
上面这种形式还有一种代码更简洁的写法,大家可以自己研究哦
有不明白的或者有其他问题的可以评论区留言噢
今天的知识分享就到这里啦~希望大家在这能学到知识一起分享一起进步,成为更好的自己!
当然,如果觉得写的还不错的可以动动发财的小手点个赞~