八、js数据类型
基本数据类型:number数值 string字符串 boolean布尔 null空值 undefined未定义
引用数据类型: Array数组 function函数 object对象
九、数据类型的转换
1、其他类型--》数值
*1
Number()
parseInt() 整型,不是四舍五入
parseFloat() 浮点型,小数
2、其他类型---》字符串
加号拼接
String()
3、其他类型---》布尔
!!
Boolean()
十、运算符
算数运算符:
加+ 减 - 乘* 除 /
%取余
浮点数直接参与运算会有问题 不要直接判断浮点数是否相等
递增和递减运算符:
i++ / ++i / i-- / i++
前置递增先加1后返回值 后置递增先返回值再加1(就近原则)
比较运算符:
小于< 大于> 大于等于>= 小于等于<= 等于==(默认会转把字符串型的数据转为数字型数据型) 不等于 != 全等于=== 不全等 !==
逻辑运算符:
逻辑与:&& 并且 相当于and (有一侧为假则为假)
逻辑或:|| 或者相当于 or(两侧都为假才为假)
逻辑非: ! 取反符
短路运算(逻辑中断):
原理:当有多个表达式当左边的值可与确定结果则右边的表达式不再运算
逻辑与短路运算:如果表达式1 结果为真 则返回表达式2 如果表达式1为假 那么返回表达式1
逻辑或短路运算:如果表达式1 结果为真 则返回表达式1 如果表达式1为假 那么返回表达式2
赋值运算符:
= 赋值
+=、-=: 加、减一个数后再赋值 num = num + 2 相当于 num += 2
*=、/=、%= 乘、除、取模 后再赋值
运算符优先级:
一元运算符中逻辑非优先级很高
逻辑与比逻辑或优先级高
三目运算符:
var res=关系表达式?值1:值2
关系表达式值为ture则取值1,关系表达式值为first则取值2