首页 > 代码库 > 第5章—JavaScript运算符

第5章—JavaScript运算符

5.1运算符类型:①算术运算符②赋值运算符③比较运算符④逻辑运算符⑤位运算符⑥特殊运算符

5.2算术运算符:+,-,*,/,%,++,--,+(一元加),-(一元减)

5.2.1(+):①强制类型转换(低精度向高精度)②数字+数字+字符串(先相加后连接)③字符串+字符串=字符串④如果一个操作数是特殊值NaN(非数字),另一个是数字,则结果为NaN

5.2.2(-):①如果其中一个操作数是NaN,结果将是NaN②如果其中一个操作数为非数字类型(如字符串、布尔等等),那么JavaScript将尝试把它转换成数字,如果不能强制转换,结果将变为NaN。例如:“7”-“3”=4(字符串强制转换为了数字)

5.2.3(*):①如果其中一个操作数为NaN,结果将是NaN②如果一个操作数为非数值类型,那么JavaScript将尝试把它转换成数字,如果不能强制转换,结果将变为NaN。

5.2.4(/):如果其中一个操作数为NaN,结果将是NaN②如果用0除以0,结果将是NaN③如果用任何有限数除以0,结果将是特殊值Infinity④如果其中一个操作数是非数字类型,JavaScript将尝试把它转换成数字,如果不能强制转换,结果将变为NaN

5.2.8(一元加+):①4+“7”=“47”②4+(+“7”)=11

5.3赋值运算符:=,+=,-=,*=,/=,%=

5.4比较运算符:==,!=,===(恒等),!==(非恒等),>,<,>=,<=

5.4.1(==,!=):①如果一个操作数是数字,另一个是字符串,JavaScript将尝试将字符串转换为数字②如果一个操作数是布尔值,那么它将被强转为数字1和0③如果一个操作数是null,另一个是undefined,比较结果是true④如果一个或两个操作数是NaN,结果为false

5.4.3(===,!==):不光比较两边的值,还比较其类型,例如:①7==“7”结果为true,而7===“7”结果为false

5.4.5(>,<,>=,<=):其中操作数涉及字符串的,将其转换为ASCII码比较,如果两边都是字符串,则从第一个字符开始比较大小(长度不同也可以,有多长就比较多长)

5.5逻辑运算符:&&,||,!

5.6位运算符:&,^,|,~,<<,>>,>>>

5.7特殊运算符:?:(条件),逗号(执行运算符两侧的语句,返回第二个语句的结果),Delete(用于删除对象、属性或数组中的一个元素),In(如果属性在指定的对象中则返回true),instanceof(如果对象是指定的对象类型,则返回true),New(创建一个对象的实例),This(引用当前对象),Typeof(返回一个描述值类型的字符串),Void(允许表达式执行而不用返回值)

5.8运算符优先级:

 

第5章—JavaScript运算符