一、基础运算符、数学运算
%,取余
**,求幂
“+”:求和;合并字符串。只要任意一个运算元是字符串,那么另一个运算元也将被转化为字符串。
其他算术运算符只对数字起作用,并且总是将其运算元转换为数字。
加号 + 应用于单个值,对数字没有任何作用。如果运算元不是数字,加号 + 则会将其转化为数字。
同Number( )
如果一个表达式拥有超过一个运算符,执行的顺序则由 优先级 决定。
“=”,返回一个值
链式赋值:let a, b, c; a = b = c = 2 + 2;
原地修改,对一个数做快捷修改
+= x; -=x ;*=x; /=x
自增自减,只能用于变量
x++;++x(加一)
x--;--x(加一)
++前置形式返回一个新的值,但后置返回原来的值
优先级比绝大部分的算数运算符要高
二、值的比较
比较结果为布尔类型:true/false;
字符串比较:
先比较首字母在字母表的顺序,越往后越大;
一样的情况下比较第二个、第三个、
前面相等的情况下,字符串长的大
小写字母比同样的大写字母大
不同类型的比较:
当对不同类型的值进行比较时,JavaScript 会首先将其转化为数字(number)再判定大小。
它不能区分出 0 和 false和空字符串
相等判断符号 == 两侧的值会先被转为数字。空字符和 false 也是如此,转化后它们都为数字 0。
严格相等运算符 === 在进行比较时不会做任何的类型转换。
非必要使用严格相等运算符 ===
当使用严格相等 === 比较null 或 undefined时,它们不相等,因为它们属于不同的类型。
当使用非严格相等 == 比较二者时,存在一个特殊的规则,会判定它们相等。
undefined 不应该被与其他值进行比较
除了严格相等 === 外,其他但凡是有 undefined/null 参与的比较,我们都需要格外小心。
除非清楚自己在做什么,否则永远不要使用 >= > < <= 去比较可能为 null/undefined 的变量。
对于取值可能是 null/undefined 的变量,按需要检查它的取值情况。
本文介绍了JavaScript中的基础运算符如加法、取余和求幂,以及字符串处理规则。重点讲解了算术运算的优先级、值的比较方法,包括类型转换和特殊规则,特别是严格相等与非严格相等的区别,以及处理null和undefined的注意事项。
468





