1.算术运算符

+
-
*
/
%
++      自增
--      自减

规律:不同数据类型在进行运算的时候会尽量转为数字类型(内置帮我们进行转换,并且符合Number的规律
引用数据类型转为数字,先内置调用toString()方法,然后再去转为数字

注意:

    • 两边只要有一个操作数是字符串类型,则执行拼接操作,拼接结果为:字符串类型
    • 两边都不是字符串,如果不是数字会尽量转为数字进行运算(符合Number的规律)
    • 一旦遇到引用数据类型,会先将引用数据类型先转为字符串(内置调用toString()方法)然后再进行运算
  • 自增自减运算符前置和后置对变量自身没有影响

  • 自增自减运算符出现在了赋值语句中

    • 运算符前置: 先运算,再赋值
    • 运算符后置:先赋值,后运算

2.赋值运算符

=     //赋值运算符 将等号右边的值赋值给左边
+=			
—=
*=
/=
%=

3.比较运算符

比较运算符返回结果是布尔值

普通比较
>  
>= 
< 
<=  
==(等于)  
!=
  • 不同数据类型进行比较,会先尽量转为数字再进行比较

  • 字符串进行比较首先是按位进行比较(只要有一位出结果了后边的就不再比较了),按照ASCII值进行比较

  • null等于undefined 但是null和undefined与其它数据都不相等console.log(null == undefined);

绝对比较
=== (绝对等于)    既比较数值,又比较数据类型  
!== (绝对不等于)  只比较数值
  • 不同数据类型一定不相等
console.log(true === 1);  //false
console.log("100" === 100);  //false

4.逻辑运算符

&&  与   
||  或
!  非

5.三目运算符

三目运算符又称之为问号冒号表达式

条件 ? 条件成立执行的代码段 : 条件不成立执行的代码段;

? :

表达式1 ? 结果1 : 结果2

6.运算符的优先级及结合性

  • 算术运算符 先 * / % 最后+ - 要提高运算的优先级加()

  • 比较运算符不可以连写

7.隐式转换

// 隐式转换
1.算术运算符
//  + - * /  %
// ++  --

2.比较运算符
//  > < ==  >=  <=

3. ! 先转为布尔值

8.isNaN(数据);

作用:判断当前数据是否是一个数字,不是一个数字返回true,是一个数字返回false; (先将这个数据转为数字类型并且符合Number的规律)

console.log(isNaN(100)); //false
console.log(isNaN("100.23")); //false
console.log(isNaN("100px")); //true