JS扫盲

来源:互联网 发布:java中json增加元素 编辑:程序博客网 时间:2024/06/05 17:09

1.容易忘记的数据类型转换
undefinde:
Boolean(undefined):false
Number(undefined):NaN
String(undefined):’undefined’
null:
Boolean(null):false
Number(null):0
String(null):’null’
Boolean
Boolean(undefined):false
Boolean(null):false
Boolean(非空对象包括空数组[]和空对象{}):true
Boolean(非0): true || Boolean(0和NaN):false
Boolean(非空包括空格字符串):true || Boolean(”):false
[注意]true不一定等于1,false也不一定等于0
Number
Number(true):1 || Number(false):0
Number(各种进制的数字):运算后的十进制的数字,如1.0或1.或01会以1输出
Number(undefined):NaN
Number(null):0
Number(字符串):NaN
Number(只包含数字的十进制和十六进制的字符串):运算后的十进制的数字
[注意]字符串中不识别八进制,按照十进制数字处理
Number(”和’ ‘):0
Number(其他情况的字符串):NaN
Number(对象):NaN
Number([]和[0]和[-0]):0
Number([数字]):运算后的数字
Number([1,2]和{}和其他对象):NaN
String
有toString()方法,使用toString()方法
String(null);//’null’
String(undefined);//’undefined’

2.容易忘记的运算符

1.=== !===:
比较的是 数值和数值类型

2.&&
比较不是boolean数值时, 如果第一个为true 返回第二个值。 如果第一个为false 返回第一个值 。如果里面有Nan, null, undefined 无论在什么位置都返回他们本身。

3.||
比较不是boolean数值时,如果第一个为true就返回第一个值。如果第一为false继续向后面找,有true就返回有true的那个数,没有就最后一个。Nan, null, undefined 如果是最后一个就返回他们,不是就想false那样往后找true;

0 ,”“,Nan, null, undefined 在boolean里面默认为false.
5.a++ 先赋值在运算 ++a 先运算在赋值