js中数据类型转换

来源:互联网 发布:网络侦探攻略极大挑战 编辑:程序博客网 时间:2024/04/29 03:52

js中boolean,number,string三种类型的数据做比较时,类型相同时直接比较,类型不同时先转化为number的数据类型,然后再做比较。如:

alert(NaN==NaN);//falsealert(true=="true");//falsealert(Number(true));//1alert(Number("true"));//NaNalert(true==1);//truealert(true==2);//falsealert(5=="5");//truealert(Number(5));//5alert(Number("5"));//5alert(Number("wsdefsfs"));//NaN
alert(Number(""));//弹出0,而不是NaNvar a1;//a1为undefinedvar a2 = null;var a3 = NaN;alert(a1==a2);//truealert(a1==a3);//falsealert(a2==a3);//falsealert(a1==0);//false

特别注意这个:

alert(Number(""));//弹出0,而不是NaN

表明undefined与null是相等的,NaN和任何值都不相等,包括它自己。