16-类型转换

类型转换

2.1 字符串类型 (其他类型转换为String)

toString()函数

除了null和undefined,其他三种基本数据类型的变量均有一个toString()函数。该函数可以获取该变量指定值的字符串表示。

var a = true;
var b = 123;
console.log(a.toString(), b.toString());// 'true'  '123'
console.log(typeof a.toString(), typeof b.toString());//string string

//变量为number类型
console.log(num.toString());  //"10"
console.log(num.toString(2));	//"1010"
console.log(num.toString(8));	//"12"
console.log(num.toString(16));	//"a"

console.log(typeof (true + ''));  //string

2.2 布尔类型 (其他数据类型转换为Boolean)

只有true 和 false

Boolean('hello'); //true

!!'hello';  //true

2.3 数字类型 (其他数据类型转换为Number)

2.3.1 Number()包装器
//(1)转换的值是null,underfined,boolean,number
Number(true);  //1   true为1;false为0;
Number(false);  //0
Number(null);  //0
Number(undefined);  //NaN
Number(10);  //10  若为数值则原样输出

//(2)转换的值为string
Number("123"); //123  如果仅包含数值,转换为对应的数值
Number("234.1"); //234.1 解析为对应的小数 
Number("+12.1"); //12.1 首位为符号位,其余为为数值,转换为对应的数值 
Number("1+2.3"); // NaN 符号位出现在其他位置,解析为NaN 
Number("0xa"); //10 如果仅包含十六进制格式,转为为对应的十进制的值
Number("010"); //10【注意】不会当做八进制被解析,结果为10。 
Number(""); // 0 空字符串被转换为0 
Number("123ac"); // NaN 包含其他字符: NaN 
Number(12); //12
2.3.2 parseInt()函数
//(1)若转换的值为Number
parseInt(10);  //10  为数值 原样输出
parseInt(10.3);  //10   若为小数,则舍去小数点一级后面的内容

//(2)转换的值为String
parseInt("123"); //123;如果仅包含数值,转换为对应的数值
parseInt("234.1"); //234;小数点后面的数值省略 
parseInt("+12.1"); //12; 首位为符号位,其余为为数值,转换为整数 
parseInt("1+2.7"); //1; 符号位出现在其他位置,保留符号位前面的数值 
parseInt("0xa"); //10; 如果仅包含十六进制格式,转为为对应的十进制的值
parseInt("010"); //10; 【注意】不会当做八进制被解析,结果为10
parseInt(""); //NaN;空字符串被转换为NaN
parseInt("1+2.3"); //1;如果首位为数值,依次向后解析,找到连续的数值,直到遇到第一个非数值的,将之前获取的数值转换为Number返回 parseInt("123ac"); //123;
2.3.3 parseFloat()函数
//(1)若转换的值是null,undefined,boolean都转换为NaN
//(2)转换的值为Number
parseFloat(10);  //10  整数原样输出
parseFloat(10.1);//10.1   若为小数,保留小数点。若10.0输出10
//(3)转换的值为string
parseFloat("123"); //123;如果仅包含数值,转换为对应的数值
parseFloat("234.1"); //234.1;保留小数点后面的数值 
parseFloat("+12.1"); //12.1; 首位为符号位,其余为为数值,转换为整数 
parseFloat("1+2.6"); //1;符号位出现在其他位置,保留符号位前的数值 
parseFloat("0xa"); //0; 【注意】不会当做十六进制来解析。
parseFloat("010"); //10; 【注意】不会当做八进制被解析,结果为10
parseFloat(""); //NaN;空字符串被转换为NaN
parseFloat("1+2.3"); //1;如果首位为数值,依次向后解析,找到连续的数值,直到遇到第一个非数值的,将之前获取的数值转换为Number返回 parseFloat("123.3ac");//123.3;
2.3.4 +
+"23"                    //23
+null                    //0
+undefined               //NaN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值