JS中的显式类型转详解:
目录
Number(mix)
/*1.Number(mix)
目的:是传入的所有数据类型转换为数字*/
var num = Number("123"); //number:123
var num = Number("123.3"); //number:123.3
var num = Number("-123"); //number:-123
var num = Number("123abc"); //number:NaN
var num = Number(true); //number:1
var num = Number(false); //number:0
var num = Number(null); //number:0
var num = Number(undefined);//number:NaN
var num = Number("a"); //number:NaN
parseInt(string,radix)
/*2.parseInt(string,radix)
目的:是传入的所有数据类型转换为整型*/
var num = parseInt("123"); //number:123
var num = parseInt("123.3"); //number:123
var num = parseInt("123.9"); //number:123
var num = parseInt("-123"); //number:-123
var num = parseInt("123abc");//number:123
var num = parseInt(true); //number:NaN
var num = parseInt(false); //number:NaN
var num = parseInt("100px"); //number:100
/*parseInt(string,radix) radix:基底;
基模式,可以把二进制,八进制,十六进制或其它任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的*/
var num = parseInt("b",16); //number:11
var num = parseInt("3",2); //number:NaN 2进制中只有1,0
var num = parseInt("AA",16); //number:170
var num = parseInt("10",2); //number:2
var num = parseInt("10",8); //number:8
var num = parseInt("10",10); //number:10
parseFloat(string)
/*3.parseFloat(string)
目的:把里面的东西转换为浮点类型的(即正常的小数)
方法:从数字位开始看,看到除了第一个点以外的非数字为截止*/
var num = parseFloat("100.2"); //number:100.2
var num = parseFloat("-100.2.3");// number:100.2
var num = parseFloat("-100.2.3");// number:-100.2
var num = parseFloat("100.2abc");// number:100.2
var num = parseFloat("12.35元"); //number:12.35
var num = parseFloat("av"); //number:NaN
var num = parseFloat("0xAA"); //number:0
var num = parseFloat("0110"); //number:110
var num = parseFloat([1]); //number:1
var num = parseFloat([2,3]); //number:2
var num = parseFloat([]); //number:NaN
var num = parseFloat(null); //number:NaN
String(mix)
/*4.String(mix)
目的:把是传入的所有数据类型转换为字符串 ,和Number类似(即里面写什么东西都会转换为字符串)*/
var num = String(123);// string:123
var num = String(true);// string:true
toString(radix)
/*5.toString(radix)
注意点:null 和 undefined不可以用toString()方法,一般情况不用toString*/
var demo = 123;
var num = demo.toString();//string:123
var demo = 10;
var num = demo.toString(8);//string:12 里面的8代表八进制,就是把10转换为八进制的数为12
Boolean()
/*6.Boolean()
目的:试图把里面的东西转换成布尔值
他不会对引号里面的数字进行自动进行转换。*/
var num = Boolean(1) ;//boolean:true
var num = Boolean(0);//boolean:false
var num = Boolean(0.0);//boolean:false
var num = Boolean("1");//boolean:true
var num = Boolean("0");//boolean:true
var num = Boolean("abc");//boolean:true
var num = Boolean('');//boolean:false
var num = Boolean(' ');//boolean:true
var num = Boolean([]);//boolean:true
var num = Boolean([1]);//boolean:true
var num = Boolean(null);//boolean:false
var num = Boolean(undefined); //boolean:false
var num = Boolean(NaN); //boolean:false