javascript 运算符
带有特殊功能的符号, 一般是操作变量的特殊符号.
字符串拼接运算符
+
有一个表达式存储的数据是字符串,就执行字符串拼接操作 , 没有字符串,是数值加减.
算数运算符
+ - * / %
% 求模运算符 (求两个数相除的余数, 如果是整除, 余数为0)
比较运算符
> < >= <= == === != !==
比较运算符执行结果一定是布尔类型.
==
两个表达式数值相同,执行结果就是true (数据类型可以不同)
===
两个表达式的数据类型和数值都必须相同, 执行结果才是true.
赋值运算符
= += -= *= /= %=
= 赋值运算符
将右侧表达式的执行结果赋值给左侧变量储存, 如果对一个变量重复赋值, 执行结果是覆盖效果.
+= 加等赋值运算符 / 累加运算符
在左侧变量储存数据的基础上, 累加右侧表示的执行结果, 再将最终的执行结果赋值给左侧变量储存.
-= 减等赋值运算符 / 累减运算符
在左侧变量储存数据的基础上,累减右侧表示的执行结果,再将最终的执行结果赋值给左侧变量储存.
*= 乘等赋值运算符 / 累乘运算符
在左侧变量储存数据的基础上,累乘右侧表示的执行结果, 再将最终的执行结果赋值给左侧变量储存
/= 除等赋值运算符 / 累除运算符
在左侧变量储存数据的基础上,累除右侧表示的执行结果,再将最终的执行结果赋值给左侧变量储存.
%= 模等赋值运算符
左侧变量储存的原始数据作为被除数, 右侧表达式的执行结果作为除数 , 两个数值求余数, 将最终的结果赋值给左侧变量储存.
自增自减运算符
++相当于+=1
--相当于-=1
每次执行变量储存的数据数值 自增1 / 自减1
只要变量储存的数据可以转化为数值类型,就支持++ -- 操作,如果不能转化为数值类型,就转化为NaN
自增自减运算符的前缀后缀语法形式:
前缀 ++变量 --变量
后缀 变量++ 变量--
前缀后缀语法相同点 :
不管是前缀还是后缀,变量只要执行了 ++ / -- 操作,存储的数据数值一定会累加1 / 累减1
不同点:
在执行前缀, 后缀语法时 参与 JavaScript程序执行的数值不同.
(1) 前缀: ++变量 / --变量
先执行 累加 / 累减操作,使用执行程序后的新的数值参与程序的运算执行.
(2) 后缀: 变量++ / 变量--
先使用变量中存储的原始数据参与程序的执行, 之后再执行 ++ / -- 操作.
逻辑运算符
比较运算符,执行结果一定是布尔类型.
比较运算符一次只能比较判断一个条件.
(1) 逻辑与 && (并且)
表达式1 && 表达式2
表达式1和表达式2结果都是true的时候,整个逻辑运算符的结果才为true.
表达式1和表达式2结果有一个是false, 则整个逻辑运算符的结果就是false.
总而言之, 两个表达式:
见false就是false.
都是true才是true.
(2) 逻辑或 || (或者)
表达式1 || 表达式2
表达式1, 表达式2 中结果有一个是true, 整个逻辑运算符的结果true
表达式1, 表达式2 中结果全是false, 那么整个逻辑运算符的结果才是false.
总而言之, 两个表达式:
见true就是true.
都是false才是false.
(3) 逻辑非 !
!(表达式)
对结果取反
如果表达式是true, !(表达式) 结果是false
如果表达式是false, !(表达式)结果是true
总结:
逻辑与 第一个是false, 第二个不执行
逻辑或 第一个是true, 第二个不执行
三元运算
就是用两个符号组成的一个语句, 只是对if else语句的一个简写形式.
表达式 ? 程序1 : 程序2
表达式为true时,执行程序1
表达式为false时,执行程序2