强制转换

强制转换

learn/js

转换为String类型

将其它数值转换为字符串有三种方式:toString()、String()、 拼串。

  1. 方式一:调用被转换数据类型的toString()方法,该方法不会影响到原变量,它会将转换的结果返回,但是注意:null和undefined这两个值没有toString()方法,如果调用它们的方法,会报错。
  2. 方式二:调用String()函数,并将被转换的数据作为参数传递给函数,使用String()函数做强制类型转换时,对于Number和Boolean实际上就是调用的toString()方法,但是对于null和undefined,就不会调用toString()方法,它会将 null 直接转换为 “null”,将 undefined 直接转换为 “undefined”。
  3. 方式三:为任意的数据类型 +""

转换为Number类型

有三个函数可以把非数值转换为数值:Number()、parseInt() 和parseFloat()。Number()可以用来转换任意类型的数据,而后两者只能用于转换字符串。parseInt()只会将字符串转换为整数,而parseFloat()可以将字符串转换为浮点数。

  1. 方式一:使用Number()函数

字符串 —> 数字 如果是纯数字的字符串,则直接将其转换为数字 如果字符串中有非数字的内容,则转换为NaN 如果字符串是一个空串或者是一个全是空格的字符串,则转换为0 布尔 —> 数字 true 转成 1 false 转成 0

null —> 数字 null 转成 0 undefined —> 数字

undefined 转成 NaN 2. 方式二:这种方式专门用来对付字符串,parseInt() 把一个字符串转换为一个整数

JS
1
2
3
4
var a = "123";
a = parseInt(a);
console.log(a);
console.log(typeof a);
  1. 方式三:这种方式专门用来对付字符串,parseFloat() 把一个字符串转换为一个浮点数
JS
1
2
3
4
var a = "123.456";
a = parseFloat(a);
console.log(a);
console.log(typeof a);

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

转换为Boolean类型

将其它的数据类型转换为Boolean,只能使用Boolean()函数 使用Boolean()函数 数字 —> 布尔 除了0和NaN,其余的都是true 字符串 —> 布尔 除了空串,其余的都是true null和undefined都会转换为false 对象也会转换为true