JS入门之 浅谈类型转换

萌新一枚,有误之处,望纠正


只是针对,基本数据类型之间的类型转换

一、类型转换成String型


方法一:调用toString()方法

该方法不会影响原变量,而是将转换结果返回(强制类型转换)

var a=123;     //Number型
var b=true;    //Boolean型
console.log(a.toString());
console.log(b.toString());

但是Null和Undefined没有toString()方法,控制台会报错

控制台显示
在这里插入图片描述


方法二:调用String()函数

将待转换变量作为参数(强制类型转换)

var a=123;          //Number型
var b=true;         //Boolean型
var c=null;         //Null型
var d=undefined;    //Undefined型
console.log(String(a));
console.log(String(b));
console.log(String(c));
console.log(String(d));

控制台显示
在这里插入图片描述


方法三:利用运算符+

与字符串拼接返回结果为String型,可以利用与空串拼接(隐式转换)

var a=123;          //Number型
var b=true;         //Boolean型
var c=null;         //Null型
var d=undefined;    //Undefined型
console.log(a+"");
console.log(b+"");
console.log(c+"");
console.log(d+"");

控制台显示
在这里插入图片描述


二、类型转换成Number型


方法一:调用Number()函数

强制类型转换

var a=true;         //Boolean型
var b="123";        //String型
var c="123JS";
var d="    ";
var e=null;         //Null型
var f=undefined     //Undefined型
console.log(Number(a));
console.log(Number(b));
console.log(Number(c));
console.log(Number(d));
console.log(Number(e));
console.log(Number(f));

String型---->Number型
1.字符串中只含有数字字符,转换为数字
2.字符串中包含非数字内容,转换成NaN
3.字符串中只包含空格,转换成0

Boolean型---->Number型
true转换成1,false转换成0

Null型---->Number型
转换成0

Undefined---->Number类型
转换成NaN

控制台显示
在这里插入图片描述


方法二:调用parseInt()函数,parseFloat()函数

强制类型转换,上面的方法有些许缺陷,比如字符串转换成Number型

var a=true;         //Boolean型
var b="123";        //String型
var c="123JS45";
var d="    ";
var e=null;         //Null型
var f=undefined     //Undefined型
var g="123.45";
console.log(parseInt(a));
console.log(parseInt(b));
console.log(parseInt(c));
console.log(parseInt(d));
console.log(parseInt(e));
console.log(parseInt(f));
console.log(parseFloat(g));

专门用来转换字符串,遇到数字字符,将其转换成数字,当不匹配,停止转换
而非字符串调用此函数,会先转换成String类型,再调用此函数

但这也会带来某些问题如进制上的,向"070",某些浏览器会将其视作十进制,某些浏览器会将其视作八进制,所以可以向此函数传递第二个参数

var a=parseInt("070",10);   //第二个参数指定进制

控制台显示
在这里插入图片描述


方法三:利用一元运算符+

效果与Number()函数结果一样,使用更方便(隐式转换)

var a=true;         //Boolean型
var b="123";        //String型
var c="123JS";
var d="    ";
var e=null;         //Null型
var f=undefined     //Undefined型
console.log(+a);
console.log(+b);
console.log(+c);
console.log(+d);
console.log(+e);
console.log(+f);

控制台显示
在这里插入图片描述


三、类型转换成Boolean型


方法一:调用Boolean函数

强制类型转换

var a=123;        //Number型
var b="46s";      //String型
var c="    ";
var d=null;       //Null型   
var e=undefined;  //Undefined型
console.log(Boolean(a));
console.log(Boolean(b));
console.log(Boolean(c));
console.log(Boolean(d));
console.log(Boolean(e));

Number型,除了0和NaN,其余都转换true
String型,除了空串,其余都转换true
Null,Undefined型都转换false

控制台显示
在这里插入图片描述


方法二:利用运算符 !

隐式转换

var a=123;        //Number型
var b="46s";      //String型
var c="    ";
var d=null;       //Null型   
var e=undefined;  //Undefined型
console.log(!!a);
console.log(!!b);
console.log(!!c);
console.log(!!d);
console.log(!!e);

如果是非布尔值进行逻辑运算,会先转换成布尔值再进行逻辑运算,可以利用此特点
控制台显示
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值