逻辑运算符:
- 逻辑运算符:返回值是最后运算的表达式的返回值
- 运算规律:
- || 一真为真,全假为假;从左到右计算,如果表达式返回值为false或者结果隐式转化为false,那么就继续运算下一个表达式,直到第一个true,返回该表达式运算结果,如果都没有,那么返回最后一个表达式运算结果
- && 一假全假,全真为真;从左到右计算,如果表达式返回值为true或者结果隐式转化为true,那么就继续运算下一个表达式,直到第一个false,返回该表达式运算结果,如果都没有,那么返回最后一个表达式运算结果
- ! 你真我假,你假我真
数据类型转化:
- 数据类型转化分为显示转化和隐式转化
- 其他类型转化为Boolean类型
- 除了null undefined ' ' false 0 转为布尔为false 其他都是true
- Boolean()作用:将其他类型数据转为boolean类型
- ()中内容的参数
- var res = Boolean(0)// false
- var res1 = Boolean('') // false
- var res2 = Boolean(undefined)// false
- var res3 = Boolean(false) // false
- var res4 = Boolean(null)// false
- var res5 = Boolean(NaN)// false
- var res6 = Boolean(123) //true
- var res7 = Boolean('dfas')// true
- var res8 = Boolean([])// true
- var res9 = Boolean({}) // true
- ()中内容的参数
运算符优先级:
- 括号成员最高级,全体单目排第二,乘除余三,加减四,移位五,关系六,等于不等于排老七,逻辑八,赋值九,逗号成员排最低
字符串比较:
- 字符串的比较大小字符与长度无关
- 空字符值0
- 从第一个字符的Unicode编码值或者阿斯克码值进行比较,直到比较出一个大小,第一个没结果就第二个......
数据类型转化:
- 其他类型转化Number显示转化,隐式转化
- 显示转化Number();parseInt();parseFloat();
- 浮点数:
- 注意:不要使用浮点数进行比较和运算
- 正常只有第一个小数点是有效的,之后都是无效的
- NaN------>Not a Number
- NaN 永不等于NaN
- NaN于任意操作数运算都是NaN
- 当一个数据,非要是数值型,但没有任何一个数值可以表示,为NaN
- var num = 12e3
- e3科学记数法10 的3次方
Number:
- Number()作用:将其他类型数据转化为数值型,参数为js数据类型
- console.log(Number(true)) // 1
- console.log(Number(false)) // 0
- console.log(Number(undefined)) //NaN
- console.log(Number(null),'null') // 0 'null'
- console.log(Number(' '))// 0
- console.log(Number('11')) // 11
- console.log(Number('1.1')) // 1.1
- console.log(Number('1.1.1')) // NaN
- console.log(Number('小米')) // NaN
- console.log(Number([])) // 0
- console.log(Number({})) // NaN
- 注意:隐式转化Number与Number函数规则一致;与parseInt parseFloat不一致
parseInt:
- 只看第一个字符,满足才能继续解析
- 忽略字符串前面的空格,直接找到第一个非空格字符
- 如果第一个字符不是数字或者是符号,返回NaN
- 空字符串,返回NaN
- 如果第一个字符是数字,会继续解析第二个字符,直到解析完所有后续字符或遇到了一个非数字字符
- 如果字符串以0开头且后面跟数字字符,就会将其转为10进制数,同样,八进制也一样
- 以0开头的数字字符省略0,返回其他数字字符
- 以0开头字符,省略0除非下为是非数字字符,返回0
parseFloat:
- parseFloat()将js数只能转化浮点数
- 从头到尾的解析,最后返回一个结果,该结果总结以下规律
- 空字符 NaN
- 十六进制0
- 解析为第一个有效小数点
- 普通的非空字符 非数字 NaN
- 科学记数法字符 转为科学记数法
- 0开头字符 如果继续解析后面字符非数字NaN 是数字省略0 返回有效数字
Boolean:
- 布尔类型显示转化Boolean
- console.log(Boolean(false))
- console.log(Boolean(null))
- console.log(Boolean(0))
- console.log(Boolean(''))
- console.log(Boolean(undefined))
- console.log(Boolean(NaN))
- 规律:除了以上六种数类型其他全是true
数组:
- 数组的特点:
- 数组有长度,表示数组中元素的个数
- 数组结构,虽然可以放任何类型的js数据,但是一般存放统一类型数据
- 数组的索引值 0 1 2
- 规则:数组内部的数据结构必须统一,特殊情况除外
- 数组取值方式:
-
array[索引值]获取索引值对应的元素
-