1.布尔值转化为数字
true是1,false是0
2.隐式转换
自动转化为字符串 +字符串拼接
自动转化为数字 - * / +(取正数)
if条件语句都会自动转化成布尔值 5个false
3.赋值运算
=
+= 例:a+=10等价于a=a+10
*= 例:a * =10等价于a=a * 10
/= 例:a/=10等价于a=a/10
%=例:a%=10等价于a=a%10(取余)
4.自增自减 ++或-
加加在前先自加再赋值,加加在后先赋值再自加 — 不管前后都会自增1或者自减1
例:var res = c++ + ++c + 2 + c++ - c-- + --c;
等同于: 7 + 9 + 2 + 9 - 10 + 8
c值的变化: 8 、 9 、 10、 9 、 8
5.比较运算
< 、>、>=、 <=、
== :两个等号判断值是否相等,会把字符串转化为数字,再进行比较
=== :三个等号既要判断值也要判断数据类型(全等)
!= :比较两边的值是否不等,如果相等,则结果为false
!== :比较两边的值和类型是否不等,有一条不等就为true
6. 逻辑运算 与&& 或|| 非!
与&&: 条件都要满足 (短路:见假即假)
或 || :只要满足任何一个条件就可以了 (短路:见真即真)
非!: 否定
7. if语句
js的三大流程控制语句:
顺序语句
选择语句 if
循环语句
if语句语法
if(表达式){
}
单分支 if
双分支 if else
多分支 if else if… else
8.精度溢出 to.Fixed()
小数在计算机中计算会出现精度溢出的问题
例:a.to.Fixed(3)保留三位小数