第三节运算符
一.运算符
分类:
1. 算数运算符
1.1.+ (加)
1.2.-(减)
1.3.*(乘)
1.4. /(除)
1.5. %(取余)
2. 赋值运算符
2.1 =(赋值)
2.2 +=(自加)
2.3 -=(自减)
2.4 *=
2.5 /=

2.6. %=

3.比较运算符
3.1.>(大于)
3.2. <(小于)
3.3. >=(大于等于)
3.4. <=(小于等于)
3.5. ==(相等数据类型可以不相等)
3.6. ===(相等但是数据类型一定才能返回true否则返回false)
3.7.!=(不等于 判断两个值是否不相等)
4. 逻辑运算符
4.1.||(逻辑或)
4.2. &&(逻辑与)
4.3.!(取反,当前值的布尔值运算符的相反值)
总结:
无论哪种运算,只要出现了undefined参与运算,结果都是NaN。
然后纯数字字符串(“4”)、false、true、null都能进行隐式转换。
加号比较特殊,面对纯数字字符串(“4”)没有隐式转换的。
二.特殊数值的计算
特殊的数字运算,就是NaN、infinity参与运算

2. js中的数学运算算n次幂就要学APL
一个数的n次幂
2.1Math.pow()幂
Math.Pow(4,3);(这是一个新APL,Math是一个内置对象,pow是它的一个方法)
Math就是数学,pow就是power乘方
2.2开根号
Math.sqrt(81);
3. 特殊的比较运算符
3.1. Number和number进行关系运算,结果是boolean
3.2.String和string也能够进行关系运算(比较的就是字符编码即unicode编码值顺序
3.2.1字符编码顺序,就是数字、大写字母、小写字母,
3.2.2.大写字母在字符集里面是小写字母前面
3.2.3数字在字母前面
3.2.4. string和string比,比的是字符编码顺序
3.3. 与数字进行关系运算时,纯数字字符被转为数字,null转换为0,true转换转为1,false转为0但是null不能和0进行相等的判定会返回false
3.4.NaN不全等于自己,也不全等与自己


3.5.不能连续使用关系运算符
例:
3>2>1//返回false
原因:在进行比较运算中式从左到右进行比较的3>2>1时先算3>2返回true之后又拿返回的true与1进行比较最后>返回false
3.6.短路语法
a&&b:a真执行b,a假执行a
a||b:a真执行a,a假执行b
五.运算符的计算顺序
贴身的(++ - -!)->数学->比较->逻辑->赋值
六.注意事项
像++ - - !这种只需要一个操作符参与的叫做一元运算符。
同时一元操作符还包括+ -这两个操作符参与的叫做二元运算符。
三个操作属参与的叫做三元运算符。
6.1特殊的一元操作符 + -
6.1.1.对于数值+没有变化,-会将数值便为负数,如果数值为负值那么结果就是正数
6.1.2.如果非数字,就会像Number'一样将其他类型转换为数值类型
