1.显示类型转换
number(mix);
parseInt(string,radix);
parseFloat(string);
toString(radix);
string(mix);
boolean()
var num = Number(‘123’);
//Number(‘123’)会把字符串123转换为数字123;并且返回值;
//null --> 0 undefinded / “a” / “123a” --> NaN
console.log(typeof num + “:” + num);
var demo = “123px”;
var a = parseInt(demo);
console.log(typeof a + “:” + a);
//parseInt把里面的转换为整形的数;整数
//“123.4” / “123px” --> 123 true / false / undefinded / null --> NaN
//radix:基数、基底,以radix为基础转换为10进制 取值范围 radix 2 ~ 36 & 0
//进制:0123456789–10/a b c d e f f + 1 = 10;(116 232)
var demo1 = “100.32.2aa3”;
var b = parseFloat(demo1);
console.log(typeof b + “:” + b);
//parsefloat将内容转换为浮点数,即正常小数
var demo2 = “100.32.2aa3”;
var c = String(demo2);
console.log(typeof c + “:” + c);
//string会将内容转换为字符串
var demo3 = “100.32.2aa3”;
var d = Boolean(demo3);
console.log(typeof d + “:” + d);
//Boolean将内容转为布尔值
var demo4 = “100.32.2aa3”;
var e = demo4.toString()
console.log(typeof e + “:” + e);
//toString用法和其他几个不同, 特殊undefined / null 两个不能用toString、会报错
//(radix)以10进制为基底转换为目标进制
//2进制转换为16进制 101010
//2 ---- 10 ---- 16
var demo = 1000;
var num = parseInt(demo,2);
var n = num.toString(16);
console.log(typeof n + “:” + n);
2.隐式类型转换
isNaN();
++/-- +/-(一元正负);
+
-
- / %
&& || !
< > <= >=
== !=
- / %
//isNaN() 判断里面是不是NaN 返回值:True / false
//内部机理: Number(‘abc’) --> NaN 结果进行比对
//++ – + -
//内部机理: Number(‘abc’)
var a = “abc”;
a ++;
// + a;//正
// - a;//负
//+ string
var a = ‘a’ + 1;
3.不发生类型转换
=== !==
绝对等于 绝对不等于
特殊NaN 除外