JS类型转换

  • Post author:
  • Post category:其他




1.强制类型转换

强制类型转换指将一个数据类型强制转换成另一种数据类型。类型转换主要指将其他的数据类型转换成

String Number Boolean



(1)将其他数据类型转换成String类型

方法一:调用被转换类型的

toString()

方法。该方法不会影响到原变量,它会将转换的结构返回。但是注意,

Null和Undefined没有toString()方法

,如果调用它们的方法,则会报错。

例:将number转换成string:

var a = 123;
a = a.toString();

方法二:调用String()函数。调用

String()

函数,并将被转换的数据作为参数传递给函数。使用String函数做类型强制转换时,对于Number和Boolean就是调用toString()方法,对于null和undefined,就不会调用toString()方法,它会将null直接转换成”null”,将undefined转换成”undefined”。

例:

var a = 123;
a = String(a);


(2)将其他的数据类型转换为Number类型

转换方式一:使用

Number()

函数



1)字符串

如果是

纯数字

的字符串,则直接将其转换为数字

var a = '123';
a = Number(a);

如果字符串中有

非数字

的内容,则转换为

NaN

var a = '123abc';
a = Number(a);
console.log(a);

控制台会打印出NaN。



2)布尔类型

布尔类型转换成数字:Ture转成1;False转成0。



3)Null

Null转成数字0。



4)Undefined

Undefined转成数字NaN。

转换方式二:这种方式专门用来对付字符串。


parseInt()

把一个字符串转换为一个

整数



parseFloat()

把一个字符串转换为一个

浮点数

。parseInt()可以将一个字符串中的有效的整数内容去出来,然后转换为Number。parseFloat()和parseInt()作用类似,不同的是它可以获得有效的小数。

var a = '123abc',
    b = '12.34.56ab';
a = parseInt(a);
b = parseFloat(b);
console.log(a);
console.log(b);

控制台会输出123和12.34。


如果对非String使用parseInt()或parseFloat(),它会将其转换为String然后在操作。



(3)将其他的数据类型转换为Boolean类型

使用

Boolean()

函数。



1)对于数字

除了

0



NaN

,其余的都是true。



2)对于字符串

除了

空串

,其余的都是true。



3)null和undefined

对于null和undefined都是false。



4)对象

对象默认情况下都转换为true。



2.隐式类型转换



1)转换为String类型

转换为String类型:可以为任意的数据类型加一个空串的形式将其转换为字符串。

var a = 123;
a = a + ‘’;


原理和String()函数一样。



2)转换为Number类型

可以通过一元的 + (+0 /1 *1)来将一个其他的数据类型转换为Number。

var a = '123'
a = +a;


原理和Number()函数一样。



3)转换为Boolean类型

转换为Boolean类型:可以为一个值

取两次反

来将其转换为布尔值。

var a = 10;
a = !!a;


原理和Boolean()函数一样。



版权声明:本文为liaoxuewu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。