目录

4、JavaScript运算符

1、算术运算符

加法

自增、自减

2.赋值运算符

3.比较运算符

4.逻辑运算符

5.三目运算符


4、JavaScript运算符

这部分算是JavaScript中比较神奇的一部分了,这与之前在学校学过的一些C语言呀、Java呀、python呀都不太一样,都有些不同点,接下来我会一一描述,必要的地方也会用代码举个例子。

首先JavaScript运算符有五种分别是

算术运算符、赋值运算符、比较运算符、逻辑运算符和三目运算符

1、算术运算符

加法+、减法-、乘法*、除法/、取模%、自增++、自减--、数值运算符、复数值运算符

加法

最主要的就是加法运算符,这也是一个重载运算符,意思就是同一个运算符号,可以有不同的运算逻辑,直接贴图

javascript实现加法运算 javascript加法代码_运算符

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,具体为啥咱这就不深究啦,毕竟不是计组课堂~😂

然后,减乘除咱就不说了,改啥啥,碰到非数,直接还会返回非数的

自增、自减

这个呢主要就一个++在前在后的问题,老生常谈了,一个是先自增再赋值,还有一个先赋值在输出

javascript实现加法运算 javascript加法代码_ecmascript_02

 第一次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.赋值运算符

这就。就不用说了吧直接上图

(但凡碰过编程的都会)

javascript实现加法运算 javascript加法代码_javascript_03

3.比较运算符

值得说的是一个==和===的区别,==表示值相等,比如123和‘123’是可以相等的,但是===必须值和类型都相等

javascript实现加法运算 javascript加法代码_开发语言_04

4.逻辑运算符

一个取反!对Boolean而言

还有就是与&&、或||

&&:如果两个表达式都为true,结果才为true;其中一个为false,结果肯定为假;存在短路:左边表达式为false,结果肯定为false,右边表达式就不再计算;

||:如果两个表达式都为false,结果才为false;其中一个为true,结果肯定为真;存在短路:左边表达式为true,结果肯定为true,右边表达式就不再计算;

5.三目运算符

这是一个神奇的东西,之前学小程序的时候就用过,用来切换样式,主要形式是这样

result =  a==5?"true";"false";

俩绿色的是两种结果,如果问号前面的是true,运行第一个,如果是false就运行第二个,比较号理解的

好啦,运算符主要就这些了,下期再见吼,睡了,明天再写流程控制。