零.运算符
+-*/%
--进行运算时,若为非数值型数据,则首先将其转换为数值型 再进行运算
--任何值与NaN进行运算,返回值都为NaN
--进行加法运算时,若两边为字符串类型 则会进行拼串功能 可以利用其进行隐式转换为字符串类型(操作:xxx+“” 此时将xxx转换为字符串类型)
任何-*/运算都能将操作数转换为数值类型 所以可以用-0 *1 /1进行隐式数据类型转换
一.一元运算符
--正负号
--对于非数值类型的数据,线将其转换为数值型的数据,在进行运算
--因此,当我们想将一个数据转换为数值型数据时,可以给它加一个正号
二.自增和自减
a++;++a;
a--;--a;
--注意加(减)一的顺序
三.逻辑运算符
与 或 非
&& || !
!
--针对布尔值,进行取反
--对于非布尔值进行运算时,先将其转换为布尔值,在进行运算
--根据上述功能,可以将数据转换为布尔值类型
&& ||
--为短路与 短路或
--两边为非布尔值时,先将其转换为布尔值再进行运算,并且返回原值
&&时 若第一个值为true,直接返回第二个值;若第一个值为false 直接返回第一个值
||时 若第一个值为true,直接返回第一个值;若第一个值为false 直接返回第二个值
四.赋值运算符
= += -+ *= /= %=
五.关系运算符
--当比较值为非数值类型时,首先将其转换为数值类型在进行比较
--任何值与NaN比较 返回值都是false
--注意:如果两边都为字符串类型时,比较其Unicode编码
--编码:使用转义字符来输出Unicode编码对应的符号(\u四位编码) 若要将Unicode编码对应的符号写入网页 则&#四位编码的对应的十进制(四位编码本来是十六进制的)
六.相等运算符
== !=
若比较的两边为不同的数据类型,则先转换为相同的数据类型,在进行比较
--注:特殊情况:Null==0 返回false
NaN不与任何值进行比较,包括它自身,若要比较其是否为NaN,则使用isNaN()函数
=== !==
===为全等,进行比较时,不会自动进行类型转换
七.条件运算符
布尔值?语句一:语句二
--注:若条件表达式的结果为一个非布尔值时,先将其转换为布尔值类型,再继续
运算符的优先级
--无需特殊记忆,把握不稳时,加()即可。