指将一个数据类型强制转换为其他的数据类型
类型转换主要指,将其他的数据类型,转换为
String Number Boolean
将其他的数据类型转换为String
方式一:
调用被转换数据类型的toString()方法
该方法不会影响到原变量,他会将转换的结果返回
但是注意:null和undefined这两个值没有toString()方法
如果调用它们的方法,会报错
例子:
var a = 123;
// 调用a的toString()方法
// 调用xxx的yyy()方法,就是xxx.yyy()
a.toString();
a = a.toString();
方式二:
调用String()函数,并将被转换的数据作为参数传递给函数
使用String()函数做强制类型转换是,
对于Number和Boolean实际上就是调用的toString()方法
到那时对我null和undefined,就不会调用toString()方法
它会讲null直接转换为"null"
讲undefined直接转换为"undefined"
例子:
a = 123;
a = String(a);
方法三:直接加双引号
例子:
var a = 123;
a = a + " ";
将其他数据类型转换为Number
转换方式一:
使用Number()函数
字符串-->数字
1.如果是纯数字的字符出啊安,则直接将其转换为数字
2.如果字符串中有非数字的内容,则转换为NaN
3.如果字符串中是一个空串或者是一个全是空格的字符
布尔-->数字
true 1
flase 0
Null-->数字
Null 0
Undefined --> 数字
Undefined NaN
例子:
var a = "123";
// 调用Number()函数来将a转换为Number类型
a = Number(a);
a = false;
a = Number(a);
转换方式二:
这种方法专门用来对付字符串
parseInt()把一个字符串转换为一个整数
// 调用parseInt()函数将a转换为Number
例子:
/*
parseInt()可以将一个字符串中有效的整数内容去出来,
然后转换为Number
*/
a = "23kopopsdop";
a = parseInt(a);
// parseFloat()作用和parseInt()类似,不同的是他可以获得有效的小数类型
a = "213.12312px";
a = parseFloat(a);
/*
如果对非String使用parseInt()或parseFloat()
他会将其转换为String,然后再操作
*/
a = true;
a = parseInt(a);
a = 198.23;
a = parseInt(a);
方法三:可以直接x1 -0 /1
例子:
var a = “123”;
a = a * 1;
将其它的数据类型转换为Boolean
使用Boolean()函数
数字-->布尔
除了0和NaN,其余都是true
字符串-->布尔
除了空串,其余都是true
null和undefined都会转换为flase
对象也会转换为true
例子:
var a = 123; //true
a = -123; //true
a = 0; //false
a = Infinity; // true
a = NaN //false
// 调用Boolean()函数来将a转换为布尔值
a = Boolean(a);