比如说+
、*
、/
、(
都是运算符,而(3+5)/2
则是表达式。
运算符有很多分类:
1、算术运算符
*+ - * / %(取余符号)
2、关系运算符
< >= <= == != === !==
3、逻辑运算符
&& || !
4、一元运算符
++ --
5、赋值运算符
<1>基本赋值运算符 =
<2>复合赋值运算符 += -=
一元运算符
-
如果一个运算符对应的只有一个操作数,那么它是 一元运算符。比如说一元负号运算符(unary negation)
-
,它的作用是对数字进行正负转换:
var x = 1; x = -x; alert( x ); // -1,一元负号运算符生效
二元运算符
如果一个运算符拥有两个操作数,那么它是 二元运算符。减号还存在二元运算符形式:
var x = 1, y = 3; alert( y - x ); // 2,二元运算符减号做减运算
-
严格地说,在上面的示例中,我们使用一个相同的符号表征了两个不同的运算符:负号运算符,即反转符号的一元运算符,减法运算符,是从另一个数减去一个数的二元运算符。
表达式
由运算符和数据(变量或常量,字面量)组成的式子
算术运算符组成的式子叫算术表达式
关系运算符组成的式子叫关系表达式或者条件表达式
逻辑运算符组成的式子叫做逻辑表达式……
如:2+3;a+5;c>3; a&&b等;100是一个最简单的表达式。
1 算术(数学)运算符
常见的数学运算符有以下几种:
-
加法运算符:
x + y
-
减法运算符:
x - y
-
乘法运算符:
x * y
-
除法运算符:
x / y
-
指数运算符:
x ** y
-
余数运算符:
x % y
-
数值运算符:
+x
-
负数值运算符:
-x
2 一元运算符
【一元运算符】 概念:只能操作一个值的运算符叫做一元运算符。
var age = ++box; //加后取值 先执行加法运算,在取值 var height = box++; //加前取值 先取值,再执行加法运算
3 赋值运算符
赋值运算符(Assignment Operators)用于给变量赋值。
最常见的赋值运算符,当然就是等号(=
)。
// 将 1 赋值给变量 x var x = 1; // 将变量 y 的值赋值给变量 x var x = y;
赋值运算符还可以与其他运算符结合,形成变体。下面是与算术运算符的结合。
// 等同于 x = x + y
x += y
// 等同于 x = x - y
x -= y
// 等同于 x = x * y
x *= y
// 等同于 x = x / y
x /= y
// 等同于 x = x % y
x %= y
// 等同于 x = x ** y
x **= y
这些复合的赋值运算符,都是先进行指定运算,然后将得到值返回给左边的变量。
4 关系运算符
4.1 概述
比较运算符用于比较两个值的大小,然后返回一个布尔值,表示是否满足指定的条件。
2 > 1 // true
上面代码比较2
是否大于1
,返回true
。
注意,比较运算符可以比较各种类型的值,不仅仅是数值。
JavaScript 一共提供了8个比较运算符。
-
>
大于运算符 -
<
小于运算符 -
<=
小于或等于运算符 -
>=
大于或等于运算符 -
==
相等运算符 -
===
严格相等(全等)运算符 -
!=
不相等运算符 -
!==
严格不相等(不全等)运算符
这八个比较运算符分成两类:相等比较和非相等比较。
5 逻辑运算符
5.1 概述
-
取反运算符:
!
右边为真,结果为假,右边为假,结果为真
-
逻辑与运算符:
&&
两边操作数都为真,结果为真,只要一边为假,结果就为假
-
逻辑或运算符:||
两边操作数都为假,结果为假,只要一边为真,结果就为真
6 三元运算符
三目运算符:运算符需要三个操作
语法:表达式1?表达式2:表达式3
表达式1是一个条件,值为Boolean类型
若表达式1的值为true,则执行表达式2的操作,并且以表达式2的结果作为整个表达式的结果;
若表达式1的值为false,则执行表达式3的操作,并且以表达式3的结果作为整个表达式的结果;
示例:
't' ? 'hello' : 'world' // "hello" 0 ? 'hello' : 'world' // "world"
7 运算顺序
7.1 优先级
算术运算 > 关系运算 > 逻辑运算 > 赋值运算
7.2 圆括号的作用
圆括号(()
)可以用来提高运算的优先级,因为它的优先级是最高的,即圆括号中的表达式会第一个运算。