js中数据类型转换

一、将其他类型转为数字类型

1.使用Number()函数

/**
 *字符串转数字
 *	1.如果是纯数字的字符串,则直接将其转换为数字
 *	2.如果字符串中有非数字的内容,则转换为NaN
 *	3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
 *布尔转数字
 *	true 转成 1
 *	false 转成 0
 *null 转数字   0
 *undefined转数字  NaN
 */
 Number('1234') // 1234
 Number('1234aa') // NaN

2.使用parseInt() 和 parseFloat 函数
这种方式专门用来对付字符串
parseInt() 把一个字符串转换为一个整数
parseFloat() 把一个字符串转换为一个浮点数

/*
 * parseInt()可以将一个字符串中的有效的整数内容提取出来,
 * 然后转换为Number,
 * parseInt()解析字符串的时候如果第一个字符是数字会继续解析,直到遇到非数字的字符结束,如果第一个字符不是数字就返回NaN。
 * parseFloat()作用和parseInt()类似,不同的是它可以获得有效的小数,
 * parseFloat会解析第一个小数点遇到第二个.或者非数字结束如果解析的内容里只有整数,解析成整数。
 */
 parseInt('123.45px') // 123
 parseFloat('123.45px') // 123.45

3.如果需要表示16进制、8进制、2进制的数字,可以在parseInt()中传递一个第二个参数,来指定数字的进制

/*
 * 在js中,如果需要表示16进制的数字,则需要以0x开头
 *             如果需要表示8进制的数字,则需要以0开头
 *             如果要要表示2进制的数字,则需要以0b开头
 *                 但是不是所有的浏览器都支持
 */
 
//十六进制
a = 0x10;
a = 0xff;
a = 0xCafe;

//八进制数字
a = 070;

//二进制数字
//a = 0b10;

//向"070"这种字符串,有些浏览器会当成8进制解析,有些会当成10进制解析
a = "070";

//可以在parseInt()中传递一个第二个参数,来指定数字的进制
a = parseInt(a,10);

console.log(typeof a);
console.log(a);

二、将其他类型转为字符串

1.数据的.toString()方法
注意,不可以转null和underfined

var num = 1234
num.toString()  // '1234'

2.String()方法

String(true)  // 'true'

3.隐式转换:用加号运算符将其他数据用 + 和字符串相加时,会先把其它类型转换成字符串再进行字符串拼接,返回字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值