微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JavaScript强制类型转换

简述

强制类型转换指将一个数据类型强制转换为其它的数据类型。一般是指,将其它的数据类型转换为String、Number、Boolean。

1、转换为String类型

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

方式一:调用被转换数据类型的toString()方法,该方法不会影响到原变量,它会将转换的结果返回,但是注意:null和undefined这两个值没有toString()方法,如果调用它们的方法,会报错。

var a = 123;
a = a.toString();
console.log(a);
console.log(typeof a);

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

var a = 123;
a = String(a);
console.log(a);
console.log(typeof a);

var b = undefined;
b = String(b);
console.log(b);
console.log(typeof b);

var c = null;
c = String(c);
console.log(c);
console.log(typeof c);

方式三:为任意的数据类型 +""

var a = 123;
a = a + "";
console.log(a);
console.log(typeof a);

2、转换为Number类型

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

方式一:使用Number()函数

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

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

var a = "123";
a = parseInt(a);
console.log(a);
console.log(typeof a);

方式三:这种方式专门用来对付字符串,parseFloat() 把一个字符串转换一个浮点数

var a = "123.456";
a = parseFloat(a);
console.log(a);
console.log(typeof a);

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

 3、转换为Boolean类型

将其它的数据类型转换为Boolean,只能使用Boolean()函数

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐