1.显示类型转换
Number(mix)
Number('字符串124/123字符串',undefined)=NaN
Number(null)=0
Number(true)=1
Number(Infinity)=Infinity
parseInt(string,radix) 2-36 目的:转换成整数
parseInt(true/false/null/...)=NaN
parseInt('12s34.9s')=12
parseInt('10',16)=16 (以16进制为基底,将1 0转换成十进制,前提:必须满足进制格式,否则输出NaN)
parseFloat(string) 转化成浮点数
toString(radix) 转换成字符串
demo.toString
(undefined.toString(),null.toString()这两种特殊,会报错)
demo.toString(8) 以十进制为基底转换成目标进制(8进制)
String(mix) 转换成字符串(任意东西)
Boolean() 转换成boolean值 ,除了那六个值(0,false,null,undefined,”“,NaN)都是true
2.隐式类型转换(数字优先)
isNaN() -------Number() isNaN(NaN)=true 若果是NaN将返回true Number("abc")------->NaN
++/-- +/-(一元正负)-----------Number var a = +"abc" console.log(a+":"+typeof(a)) //输出NaN:number(但类型还是Number)
+ ----------String()
-*/%---------Number()
&& || !--------Boolean
<> <= >= -----------Boolean
== != -----------Boolean
特殊:
false > true ==0 > 1 (false)
null == 0 (false)
undefined == null (true) *
NaN == NaN (false)*
alert(typeof(a));
alert(typeof(undefined));
alert(typeof(NaN));
var a = "123abc"
alert(typeof(+a));
alert(typeof(!!a));
alert(typeof(a+""));
alert(1 == "1");
alert(NaN == NaN);
alert(NaN == undefined);
alert("11"+11);
alert(1 ==="1");
alert(parseInt("123abc"));
var num = 123123.234;
alert(num.toFixed(3));
typeof(typeof(a));