一:六种数据类型
弱类型特性:
eg:var num =32;
num="this is a string";
32+32 //64
"32"+32 //"3232"
"32"-32 //0
原始类型: number
string
boolean
null
undefined
非原始类型:object 对象 eg:Function Array Date ...
隐式转换:
“37”-1 //36
“37”+7 //377
巧用+/-规则转换类型 : num-0 //将num 转换为number类型
num+‘’ //将num转换为string类型
“1.23” == 1.23 //true 当等号两边 一边是字符串 一边是数字时,会尝试把字符串转换为数字,然后再进行比较
0==false //true
null == undefined //true
boolean ==? //将boolean 转为数字, 1==true
object ==number |string 尝试对象转为基本类型 new String(‘hi’)=='hi' //true ; 其他为false
new Object() == new Object() //false
[1,2] ==[1,2] //false
严格等于: a===b 首先会判断等号两边的类型,类型不同,返回false;
类型相同:null ===undefined //false ,两边都为null 或者都为undefined 时为true;
NaN≠NaN NaN和任何值比较 都是不相等的,包括和它自己比较;
new Object() ≠new Object() 对象的比较用引用比较,而不是用值比较。