数据类型转换(常用)
一般分为强制转换和隐式转换两种,隐式转换使用的方法一般为Number()、String()、Boolean()。
一、数值类型转换
1、数值类型转字符串类型
(1)类型强制转换
var a = 10;
var b = Sting(a)
(2)利用隐式转换方式,根据运算特征来转换,隐式转换字符串回自动执行String()
var a = 10;
a = a + '';
(3)利用 to String() 方法,to String()实际上是object对象方法。
他的参数必须在2~36之间,制定进制转换。
var a = 10;
var b = a.toString();
// a.toString(10);
(4)使用 to Fixed() 方法,该方法转换为字符串,并保留小数点四舍五入。
var a = 10.5654;
var b = a.toFixed();
(5)使用科学计数法,此方法适用于数字且没有指数,当填写参数时它会直接保留有效数字,不会四舍五入。
var num = 88;
num.toExponential() // 8.8e+1;
它的参数可选,是指定小数点后的位数。
(6)科学计数法第二种情况,当不填写参数直接结果为自己本身字符串,当填写参数时,保留有效数字,并且四舍五入,转化为科学计数法。
var num = 888888;
num.toPrecision(); // 888888
num.toPrecision(3); // 8.89e+5
它的参数是一个整数,意为指定有效位数。
2、数值类型转布尔类型
var a = 1;
a = Boolean(a)
除了0以为都为true,0为false。
3、数值类型转换为对象类型
var a = 1;
a = object(a);
此时a为数值对象,存储在堆中。
二、字符串类型转换
1、字符串类型转化为数值
(1) 强制转换为数值类型 Number()
NaN 数值类型种为非数值
var a = 'a';
a = Number(a);
(2) 转换为整数或浮点数的应用
var a = '10.32a'
var b = parseInt();
var c = parseFloat();
var d = parseInt(a,2)
parseInt() 将字符串转换为整数或只保留整数部分。
parseFloat() 将字符串转换为浮点数。
parseInt(a,2) 意思为将值转化为二进制的值。
2、字符串转换为布尔值
var str = '';
str = Boolean(str);
仅空字符串转换为布尔值的时候它的值为false,除此之位其余的都是true.
3、字符串转换为对象
var str = 'str';
str = object(str);
它会转换为一个字符串对象.
三、布尔类型的转换
1、布尔类型转换为数值类型
var bool = true;
var a = Number(bool)
当为true时转换为1,为false时转换为0.
2、布尔类型转换为字符串类型
转换后就是字符串 true/false
var bool = true;
var a = String(bool)
3、布尔类型转换为对象类型
转换后就是布尔对象型
var bool = true;
var a = object(bool);
4、任何类型转换为布尔值
只有 NaN、’’、0、false、null、undefined这6种转换布尔类型为false,其余都为true。
四、undefined、null的转换
1、转换为字符串
当undefin和null转换为字符串就是其本身字母。
2、转换为数值类型
当用 Number()将其转换为数值类型时,undefined为NaN,但null的转换值为 0。
当用parseInt及其他一些方法时两者的转换后的值都为NaN.