第5章—JavaScript运算符

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

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

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

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

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

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

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

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

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

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运算符优先级:

相关文章
相关标签/搜索