javaScript中的运算符
运算符也叫操作符比如:typeof就是运算符,来获取一个值的类型,它会将该值的类型以字符串的形式返回。
1.算术运算符
- 任何值和NaN做运算,都是NaN。
- 如果两个String相加,则产生拼串操作。与java中的字符串相加相同。js中的双引号必须在同一行,不能换行。
- 任何的值和字符串做加法运算,都会先转换为字符串,再拼串。
- 任何值进行-,/,*操作时,都会自动转换为Number。
2.一元运算符
+ 正号
- 负号
对于非Number的值,会先转换为Number后,进行处理
3.自增,自减运算
与java中的相同
4.逻辑运算符
! 非
-如果对非布尔值进行运算,会将其转换为布尔值。
可以将任意数据类型取两次反,将其转换为布尔值。
&& 短路与
-非布尔值的情况:
对于非布尔值会先将其转换为布尔值,再运算,最后返回原值。
|| 短路或
5.关系运算符
对于非数值进行比较时,会将其转换为数字,再比较。
任何值与NaN做比较都是false。
注意:
如果负号两侧的值都是字符串时,不会将其转换为数字进行比较,而是转换成Unicode编码(十六进制)比较。
按位比较。
在比较两个字符串型的数字时,一定要转型。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
/**
在字符串中使用转义字符输入Unicode编码,16进制编码
\u四位编码
**/
console.log("\u2620");
</script>
</head>
<body>
<!-- 在网页中使用Unicode编码
&#编码;这里的编码需要的是10进制
-->
<h1 style="font-size:200px">☠</h1>
</body>
</html>
6.相等运算符
==
如果使用==来比较两个值时,如果值的类型不同,
则会自动进行类型转换,将其转换为相同的类型。
undefined衍生自null,所以两个值做相等判断时,会返回true。
NaN不和任何值相等,包括其本身。
-判断值是否是NaN,通过isNaN()函数来判断一个值是否是NaN。
!=
=== 全等
-用来判断两个值是否全等,和相等类似,不同的是如果两个值的类型不同,直接返回false。
!== 不全等
-用来判断两个值是否不全等,如果两个值的类型不同,直接返回true。
7.条件运算符也叫三元运算符
语法:
条件表达式 ? 语句1 : 语句2;
, 运算符
使用,可以分割多个语句,一般可以在声明多个变量时使用。