[JavaScript]-3-js运算符

引言

这篇文章介绍JavaScript的几种常见运算符。

文章目录

0×1.加减乘除与自增

js中的加减乘除:

					<script type="text/javascript">
						var aNum=12;
						var bNum=2;
						//加、减、乘、除、取余数
						console.log(aNum+bNum); //14
						console.log(aNum-bNum); //10
						console.log(aNum*bNum); //24
						console.log(aNum/bNum); //6
						console.log(aNum%bNum); //0
					</script>
					

js中的自增,自减:

					<script type="text/javascript">
						var aNum=12;
						//自增、自减运算符前置和后置的区别
						//前置在使用前加1或减1,后置在使用后加1或减1
						console.log(++aNum); //13
						console.log(--aNum); //12
						console.log(aNum++); //12
						console.log(aNum);   //13
				        console.log(aNum--); //13
				        console.log(aNum);   //12

				        //aNum前置++,在aNum使用之前先加1,结果是两个13相加
				        //aNum使用完之后,aNum执行后置++,13再加1
				        console.log(++aNum+aNum++); //26
        				console.log(aNum); //14

        				//第一个aNum++,因为是后置++,所以第一个位置代入的值是14,代入完成之后,aNum的值加1,变成15,执行++aNum,15再加1,最后的结果就是14+16
        				//在中间的加号操作符前后,必须加上空格,否则会报错
				        console.log(aNum++ + ++aNum); //30
				        console.log(aNum); //16
					</script>
					

0×2.逻辑运算符

常见的逻辑运算符有&&与||,前者做and运算,后者做or运算,请看下面的实例:

					//使用&&进行逻辑and运算
					<script type="text/javascript">
						var a=1,b="233",c=false,d=undefined,e=null;
						//当and运算符左边表达式为真时,总是返回右边表达式的值
						console.log(a&&b); //233
						console.log(a&&c); //false
						console.log(a&&d); //undefined
				        console.log(a&&e); //null

				        //当and运算符左边表达式为false时,直接返回false
				        console.log(c&&b); //false
						console.log(c&&d); //false
				        console.log(c&&e); //false

				        //当and运算符左边表达式为undefined和null时,直接返回undefined和null
				        console.log(d&&c); //undefined
						console.log(e&&c); //null
					</script>
					
					// ||使用进行逻辑or运算
					<script type="text/javascript">
						var a=1,b="233",c=false,d=undefined,e=null;
						//当||表达式左边为真时,直接返回左边表达式的值
						console.log(a||b); //1
						console.log(a||c); //1
						console.log(a||d); //1
				        console.log(a||e); //1

				        //当||表达式左边为假时,判断右边表达式的值
				        console.log(c||d); //undefined
				        console.log(c||e); //null

				        //遇到null和undefined做||运算时,返回右边表达式的值
				        console.log(d||e); //null
				        console.log(e||d); //undefined
				        console.log(d||d); //undefined
				        console.log(e||e); //null
					</script>
					

使用!运算符进行取反运算:

					// !运算符,将变量按照布尔运算取反
					<script type="text/javascript">
						var a=1,b=false,c=undefined,d=null;
						//false true true true
        				console.log(!a,!b,!c,!d);
					</script>
					

0×3.关系运算符

常见的关系运算符包含下面这几种:

* < 小于;
* > 大于;
* >= 大于等于;
* <= 小于等于;
* == 等于;
* === 全等(数据类型也要一致);
* !== 不全等(数据类型或数据不相等);

					<script type="text/javascript">
						var a=1,b=3,c=3,d="3";
						//下面的判断结果如下
						//false true false true true false
						console.log(a>b,a<b,a==b,c>=b,c<=b,c<=a);

						//b和d虽然是不同的数据类型,但值相等,所以第一个判断是true
						//true false true
						console.log(b==d,b===d,b!==d);
					</script>
					

0×4.赋值运算符与优先级

常见的赋值运算符包含下面这几种:

* = 直接赋值;
* += 加等于;
* -= 减等于;
* *= 乘等于;
* /= 除等于;
* %= 余等于;

					<script type="text/javascript">
						var a=1;
						//运算结果如下
						//2 3 2 4 2 0
						console.log(a=2,a+=1,a-=1,a*=2,a/=2,a%=2);
					</script>
					

所有这些常用的运算符,优先级从高到底如下:

1. () 优先级最高
2. 一元运算符 ++ -- !
3. 算数运算符 先* / % 后 + -
4. 关系运算符 > >= < <=
5. 相等运算符 == != === !==
6. 逻辑运算符 先&& 后||
7. 赋值运算符

使用上面这个优先顺序,大家可以自己判断一下下面这两个练习的结果:

					<script type="text/javascript">
						//1:
				      var x = 2 >= 233 || 'qingsword' != 'qingsword.com' && !(233 * 12 == 144) || false
				      console.log(x); //true

				      //2:
				      var iNum = 10;
				      var f = 5 == iNum / 2 && (2 + 2 * iNum)
				      console.log(f);
				      console.log(f.toString() === 22) //false
				      console.log(f.toString() == 22) //true
					</script>