目录
4、JavaScript运算符
1、算术运算符
加法
自增、自减
2.赋值运算符
3.比较运算符
4.逻辑运算符
5.三目运算符
4、JavaScript运算符
这部分算是JavaScript中比较神奇的一部分了,这与之前在学校学过的一些C语言呀、Java呀、python呀都不太一样,都有些不同点,接下来我会一一描述,必要的地方也会用代码举个例子。
首先JavaScript运算符有五种分别是
算术运算符、赋值运算符、比较运算符、逻辑运算符和三目运算符
1、算术运算符
加法+、减法-、乘法*、除法/、取模%、自增++、自减--、数值运算符、复数值运算符
加法
最主要的就是加法运算符,这也是一个重载运算符,意思就是同一个运算符号,可以有不同的运算逻辑,直接贴图
a1是俩数值相加,就是两number类型的值
a2是一个number+一个string
所以显然这是两个截然不同的运算逻辑,一个是数值相加,一个直接拼接。
如果是加上其他非string,非number的值是则会转换成number类型在进行计算吼
具体见下表
数值类型 | 对应number的值 | |
Boolean | true | 1 |
Boolean | false | 0 |
null | 0 | |
undefined | NaN |
如果你加的值是一个未定义的值,那结果就是一个非数NaN哈,非数呢就是以32位IEEE单精度浮点数的NaN为例,第一位符号位随意,后八位指数位全为1(考408或者学计算机组成原理的同学一定知道~~)
同理,任何数加NaN都是NaN,具体为啥咱这就不深究啦,毕竟不是计组课堂~😂
然后,减乘除咱就不说了,改啥啥,碰到非数,直接还会返回非数的
自增、自减
这个呢主要就一个++在前在后的问题,老生常谈了,一个是先自增再赋值,还有一个先赋值在输出
第一次a1++,会先输出原本a1,但是输出之后其实a1=11
而a2则是先自增后再输出
之前华为等企业招聘笔试题曾有一题如下,大家可以试试哦
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
let a = 5;
console.log(++a+(a++)+a--+(a++)+(++a));
</script>
</body>
</html>
相信初学者看到这个一定会跟我当时一样绝望哈哈哈
自减跟自增一样,咱就不多说了。
其他几个运算就,,没啥好说的了
2.赋值运算符
这就。就不用说了吧直接上图
(但凡碰过编程的都会)
3.比较运算符
值得说的是一个==和===的区别,==表示值相等,比如123和‘123’是可以相等的,但是===必须值和类型都相等
4.逻辑运算符
一个取反!对Boolean而言
还有就是与&&、或||
&&:如果两个表达式都为true,结果才为true;其中一个为false,结果肯定为假;存在短路:左边表达式为false,结果肯定为false,右边表达式就不再计算;
||:如果两个表达式都为false,结果才为false;其中一个为true,结果肯定为真;存在短路:左边表达式为true,结果肯定为true,右边表达式就不再计算;
5.三目运算符
这是一个神奇的东西,之前学小程序的时候就用过,用来切换样式,主要形式是这样
result = a==5?"true";"false";
俩绿色的是两种结果,如果问号前面的是true,运行第一个,如果是false就运行第二个,比较号理解的
好啦,运算符主要就这些了,下期再见吼,睡了,明天再写流程控制。