运算符
JavaScript中运算符主要用于连接简单表达式,组成一个复杂的表达式。常见的运算符有算数表达式、比较表达式、逻辑表达式、赋值表达式等,也有单目运算符,指操作原始表达式。大多数运算符都由标点符号组成(+、>=、!),也有关键字表示的运算符,如typeof、delete、instanceof等。
一些运算符可以作用于任何数据类型(typeof),但大部分操作符希望操作数是特定的类型,而且大部分操作符会计算出(我们也常说返回)一个特定类型的值(typeof返回的全是string)。在JavaScript中运算符通常会根据需要对操作数进行类型转换,乘法操作符希望操操作数是数字,但是"3"*"5"也是合法的,JavaScript会自动将其转换为数字计算,返回 Number 15。
1)算数运算符
在JavaScript中有以下算数运算符:
- 加法运算符:
x + y
- 减法运算符:
x - y
- 乘法运算符:
x * y
- 除法运算符:
x / y
- 指数运算符:
x ** y
- 余数运算符:
x % y
- 自增运算符:
++x
或者x++
- 自减运算符:
--x
或者x--
- 数值运算符:
+x
- 负数值运算符:
-x
这些运算符主要都是用作数学运算的,主要说下加法运算符
加法运算符
加法运算符(+)是最常见的运算符,用来求两个数值的和
1+1 //2
如果是两个字符串相加,加法运算符是将两个字符串作为拼接,返回新的字符串
'ab' + 'cd' // 'abcd'
如果是字符串和数值相加,则会把数值转化为字符串再进行拼接
var a ='3' var b = 4 a+b // '34'
和对象相加会调用其valueOf或者toString方法
var obj = {a:1} var a = 5 obj+a //[object Object]5
自增和自减运算符
自增和自减运算符,是一元运算符,只需要一个运算子。它们的作用是将运算子首先转为数值,然后加上1或者减去1。它们会修改原始变量。
var x = 1 ++x //2
--x //1
x//1
上面代码的变量x
自增后,返回2,再进行自减,返回
1。这两种情况都会使得,原始变量
x
的值发生改变。
自增和自减运算符有一个需要注意的地方,就是放在变量之后,会先返回变量操作前的值,再进行自增/自减操作;放在变量之前,会先进行自增/自减操作,再返回变量操作后的值。
var x = 1 x++ //1 x //2 var y = 1 ++y //2 y //2
自增和自减运算符放在变量前和后的区别
2)比较运算符
比较运算符用于比较两个值的大小,然后返回一个布尔值,表示是否满足指定的条件。
注意,比较运算符可以比较各种类型的值,不仅仅是数值。
JavaScript 一共提供了8个比较运算符。
>
大于运算符<
小于运算符<=
小于或等于运算符>=
大于或等于运算符==
相等运算符===
严格相等运算符!=
不相等运算符!==
严格不相等运算符
这里说下相等运算符和严格相等运算符的区别
==
与===
有什么区别?
3)布尔运算符
布尔运算符用于将表达式转为布尔值,一共包含四个运算符。
- 取反运算符:
!
- 且运算符:
&&
- 或运算符:
||
- 三元运算符:
?:
4)其他运算符
- void运算符
- 逗号运算符
参考链接:https://wangdoc.com/javascript/operators/index.html