js数据类型之间的转换

数据类型

1、js中的数据类型有6种分别是:String、Number、Null、Undefined、Boolean、Object。

2、其中String、Number、Null、Undefined、Boolean为基本数据类型,Object为引用数据类型

3、Number包括整数和浮点数,其中Infiniti表示正无穷,NaN表示不是一个number,这两个也是Number类型。

4、js中对于小数运算会有误差,所以不要使用js进行对精确度要求高的运算。

数据类型转换

一、其他类型转Sting

//1、使用toString()方法
/*
toString()方法可以将Number、Boolean类型转换成String,
但是不能转换Null和Undefined类型
*/
var a = 123;
var b = a.toString();
console.log(typeof b);//打印b的数据类型

输出:

"string"
//2、使用String()函数
/*
String()函数可以将Number、Boolean、Null和Undefined转换成String
在转换Number、Boolean调用的还是toString()方法,
但是在转换Null和Undefined时,是直接将null和undefined直接转换成“unll”和“undefined”
*/
var a = 123;
var b = String(a);
console.log(typeof b);

输出:

"string"
//3、使用算数运算
var a = 123;
var b = a + "";
console.log(typeof b);

输出:

"string"

二、其他类型转Number

//(1)使用Number()函数
/*
1、若字符串全是数字则直转换数字
2、若字符串包含字符,则转换成NaN
3、若字符串为空或空格,则转换成0
4、Boolean中true转换成1,false转换成0
5、null转换成0,undefined转换成NaN
*/
var a = "123";
var b = Number(a);//b = 123
var a = "123aa";
var b = Number(a);//b = NaN
var a = "";
var b = Number(a);//b = 0
var a = true;
var b = Number(a);//b = 1
var a = null;
var b = Number(a);//b = 0
var a = undefined;
var b = Number(a);//b = NaN
//(2)使用parseInt()和parseFloat()
/*
这两种函数只针对字符串转换
1、Boolean中true和false都会先转成字符串"true",“false”,然后返回NaN
2、null和undefined同样会先转成字符串,然后返回NaN
*/
var a = "123";
var b = parseInt(a);//b = 123
var a = "123.21";
var b = parseInt(a);//b = 123
var a = "123qwe";
var b = parseInt(a);//b = 123
var a = "aa123";
var b = parseInt(a);//b = NaN
var a = "";
var b = parseInt(a);//b = NaN
//parseInt()第二个参数表示按什么进制转换
var a = "070";
var b = parseInt(a,10);//b = 70
var a = "070";
var b = parseInt(a,8);//b = 56
//(3)使用算数运算
var a = "123";
var b = a - 0;
console.log(typeof b);//b是Number类型
var a = "123";
var b = a * 1;
console.log(typeof b);//b是Number类型
var a = "123";
var b = a / 1;
console.log(typeof b);//b是Number类型

三、其他类型转Boolean

//使用Boolean()函数
/*
1、Number转Boolean时,除了0和NaN是返回false,其他都返回true
2、null和undefined转Boolean,都返回false
3、除了空字符串返回false,其他都返回true
4、对象转换成Boolean返回true
*/
var a = "";
var b = Boolean(a);//b = false
var a = " ";
var b = Boolean(a);//b = true
var a = null;
var b = Boolean(a);//b = false
var a = NaN;
var b = Boolean(a);//b = false
//使用逻辑运算符
var a = 123;
var b = !!a;//b = true
var a = 0;
var b = !!a;//b = false

猜你喜欢

转载自blog.csdn.net/huangqiang80/article/details/121397966