web前端工程师必备-JS运算符

JS中的运算符

运算时,只能进行同类型运算。如果类型不同,将进行类型转换。

1、算术运算符:+、-、*、/、%、++、–

	var a = 10;
	var b = a + 10;  // b = a+10 = 10+10=20

注意:
(1)如果"+"左右两个操作数,都是数值的话,将执行"加法"运算。
(2)如果"+"左右有一个操作数是字符的话,那么,另一个值将转成字符串。这两个操作数进行的是"连接"运算。

"%"取余运算符,两个数相除,取余数。

	a = 10 % 3;  // a = 1,如果余数不为0,则两个不能整除
	a = 10 % 2;  // a = 0,如果余数为0,则两个数能除尽

"++"自加运算符、自加1
(1)"++"可以作前缀(++i),也可以作后缀(i++)。
(2)如果不赋值的话,i++和++i的结果是一样的。
(3)如果要赋值的话,i++和++i的结果就不一样了(++在前,先自加再赋值;++在后,先赋值再自加)。

	var a = 10;
	var b = a++;//先将 a 的值赋值 10 给 b(b = 10),a 再自加 a = 11
	var c = ++a;//a先加1(a = 12),再将值赋值给 c(c = 12)

"–"自减运算符,自减1
原理同"++"

2、赋值运算符:=、+=、-=、*=、/=

"="是赋值号。
如:a = 10 //将数值 10 赋值给 a
"+="先加后等。
如:a += 10 //展开后 a = a + 10
"-="先减后等
如:a -= 10 //展开后 a = a - 10
"*="先乘后等。
如:a *= 10 //展开后 a = a * 10
"/="先除后等。
如:a /= 10 //展开后 a = a / 10

3、字符串运算符:+、+= (+、+=不仅可以用来参与运算 也可以用来连接字符串)

字符串一般只进行"连接"运算,不能进行其它运算

	var a = "abc";
	var b = a + "def";   // 结果b = a + "def" = "abc" + "def" = "abcdef"
	var a = "abc";
	a += 10;   // 结果a = a + 10 = "abc" + 10 = "abc10"

4、比较运算符:

>、<、>=、<=、==、!=、===、!==

比较运算符的运算结果是布尔值(true或false)。

	a = 10 > 20;       // 结果a=false
	a = 20>=20;       // 结果a=true
	a = 10%2 == 0;    // 结果a=true
	a = 10%2 == "0";  // 结果a=true
	a = 10%3 != 0;    // 结果a=true
	a = 10%2 === "0";  //结果a=false

"=="等于。
只比较两个变量的值,而不管类型。只要值一样,就返回true,否则返回false。
"==="全等于。
既比较变量,也判断类型。如果类型和值都一样,返回true,否则返回false。

5、逻辑运算符:&&、||、!

逻辑运算符的运算结果有两个true或false。

"&&"逻辑与(并且关系)。
如果左右两个操作数都为true,则结果为true,否则,结果为false。(就是两个条件同时满足时,则结果为true。)
示例:

	var a = 5, b = 7, c = 9;
	(a<b && b<c) ? document.write('结果为真!'):documen.write('结果为假!');//a<b成立 且 b<c成立,所以结果为真 

"||"逻辑或。
左右两个条件,只要有一个满足,则返回true,否则,返回false。
示例:

	(a>b|| b<c) ? document.write('结果为真!'):documen.write('结果为假!');//b<c成立,所以结果为真

"!"取反运算。

!true//结果为 flase
!false //结果为true
!100 //结果为flase

6、三元运算符:?:

所谓"三元运算符"就是指三个操作数。

	语法:条件表达式 ? 结果1 : 结果2
	含义:如果条件为true,则执行"结果1"的代码;如果条件为false,则执行"结果2"的代码。
	其实:三元运算符,就是if else的变形形式。

示例:

	var age = 18;
	age>=18 ? document.write('成年了!') : document.write('你还小!');

特殊运算符

new运算符:
创建一个对象。如:var today = new Date(); //创建一个当前系统日期时间对象
delete运算符:
删除数组的元素,或者对象的属性。
typeof运算符:
一元运算符,主要功能:判断变量的类型的。如:typeof name 或 typeof(name)
点运算符(.):
主要应用在对象中,通过点运算符(.)去调用属性或方法。如:window.alert("OK")
[ ]中括号:
主要用来访问数组元素的。如:arr[0] = 100; //找到下标为0的数组元素,并重新赋值

运算符优先级(由上到下递减)

.、[]、new、()
!、++、--
 *、/、% 
+、- 
>、<、>=、<= 
 ==、!=、===、!== 
 &&、||、?:
 =、+=、-=、*=、/=、%=

猜你喜欢

转载自blog.csdn.net/weixin_44486539/article/details/86307335
今日推荐