加法运算符
加法运算符“+”是最常用的运算符之一,但是使用却相对复杂。因为在Javascript中,加法运算符可以完成两种含义的操作,一种是算术的加法,一种是做字符串拼接。
如果运算子是个对象,先转成原始类型的值(即先执行该对象的valueOf方法,如果结果还不是原始数据类型,再执行toString方法)
两个运算子都是原始数据类型以后,只要有一个运算子是字符串,则两个运算子都转化为字符串,做字符串拼接操作。
否则,两个运算子都转化为数值,做算术加法运算。
赋值运算符
运算符 例子 等价于 结果 = x=y x=5 += x+=y x=x+y x=15 -= x-=y x=x-y x=5 *= x*=y x=x*y x=50 = x/=y x=x/y x=2 %= x%=y x=x%y x=0 比较运算符
比较运算符运算的结果是一个boolean值,表示是否满足条件。
运算符 含义 == 相等 === 严格相等 != 不等于 !== 严格不等于 < 小于 <= 小于等于 > 大于 >= 大于等于 关于==和===
相等运算符比较两个值是否相等,严格相等运算符比较他们是否为“同一个值”。如果两个值不是同一类型,严格相等运算符直接返回false,而相等运算符会将他们转成同一数据类型,再用严格相等运算符进行比较。
布尔运算符
将表达式转为布尔值
取反运算符!、且运算符&&、或运算符||、三元运算符?1.取反运算符
取反运算符有转换数据类型的作用。
对于或和且的理解:对于两个boolean类型的数据
或:有一个真即真;且:有一个假即假
2.且运算符“&&”
规则:如果第一个运算子的布尔值为true,则返回第二个运算子的值(注意是值,不是布尔值);如果第一个运算子的布尔值是false,则返回第一个运算子的值,且不再对第二个运算子求值。
3.或运算符“||”
规则:如果第一个运算子的布尔值为true,则返回第一个运算子的值,且不再对第二个运算子求值;如果第一个运算子的值为false,则返回第二个运算子的值。